-
GreyWolf (15.08.09 22:35) [0]Кто-нибудь знает, как можно реализовать сабж?
Пробовал diskid32.exe отсюда http://www.winsim.com/diskid32/diskid32.html и примеры от Алекса Коншина http://home.earthlink.net/~akonshin/ IdeInfo2, ScsiSN, IdeSN, IdeSN2 , но все это на моем компьютере либо работает только под админом, либо вообще не работает (win2000, HDD SATA 120Gb).
Системы интересуют Win2k-Windows 7. -
TIF © (16.08.09 14:43) [1]Сравнительно недавно бегло пробегался по информации насчёт серийного номера жёсткого диска. Сделал для себя вывод, что всё выложенное в сети уже устарело, для Vista и Windows 7 не подходят...
> Системы интересуют Win2k
Ну для Windows 2000 точно есть работающий пример. В том же DRKB
> Получение HDD serial без WMI и прав админа
А вот это как раз вроде и невозможно (если возможно - поправьте меня) -
brother © (17.08.09 04:41) [2]> Получение HDD serial без WMI и прав админа
возможно, осталось выяснить, какие права всеж нужны пользователю... скорее всего разрешения на прямой доступ к диску... -
miek (17.08.09 09:54) [3]системная панелька свойств оборудования, запущенная из-под ограниченного пользователя, таки может это делать (сведения -> код экземпляра устройства). стало быть - возможно.
имеет смысл прозондировать regmon-ом, какие ключи реестра она смотрит... -
GreyWolf (17.08.09 11:25) [4]> TIF © (16.08.09 14:43) [1]
>Ну для Windows 2000 точно есть работающий пример. В том же DRKB
Скачал этот справочник, пример оттуда, это и есть пример от Алекса Коншина. Конкретно на моей машине не под админом не работает.
>brother © (17.08.09 04:41) [2]
возможно, осталось выяснить, какие права всеж нужны пользователю... скорее всего разрешения на прямой доступ к диску...
В идеале как можно меньше. Как я понимаю, пользователи из группы "Пользователи" по умолчанию не имеют права прямого доступа к жесткому диску.
miek (17.08.09 09:54) [3]
системная панелька свойств оборудования, запущенная из-под ограниченного пользователя, таки может это делать (сведения -> код экземпляра устройства). стало быть - возможно.
А можно подробнее - как добраться до (сведения -> код экземпляра устройства), начиная с кнопки "Пуск"? а то я что-то не нашел
Еще программа Everest, которая показывают инфу о компьютере, показывает серийник HDD, будучи запущенной из-под встроенной учетной записи "Гость", хотя возможно, что это делается с помощью какого-то сервиса или драйвера, установленного при ее инсталляции. -
TIF © (18.08.09 00:56) [5]> Еще программа Everest, которая показывают инфу о компьютере,
> показывает серийник HDD, будучи запущенной из-под встроенной
> учетной записи "Гость"
Не увидел здесь предложения "она не использует WMI" :)
> системная панелька свойств оборудования, запущенная из-под
> ограниченного пользователя, таки может это делать
Ну так системная панелька может сообщаться с процессами, у которых могут быть соответствующие права. Или опять тот же WMI тут используется
> А можно подробнее - как добраться до (сведения -> код экземпляра
> устройства)
"Свойства" выбранного жёсткого диска в "Диспетчере утсройств", в открывшемся окне вкладка "Сведения"
Затем для XP выбираем в выпадающем списке "Код экземпляра устройства", как уже сказал miek
В Vista это уже называется "ИД оборудования"
Скопировав (Ctrl+C) оттуда значение можно поисктаь его в реестре. Встретится неоднократно, в различных местах, я не увлекался поиском особо ) Вот, по-моему, основная ветвь про дисковые накопители:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE
(в XP, Vista - имеется)
Проблематично только, imho, выудить оттуда информацию... Ааа, нет :) Я думал трудно определить, где там жёсткий диск, а где CD-ROMы, допустим, оказывается надо смотреть в дочерний ключ, в параметре Class
PS: пример этого кусочка реестра из виртуальной XPIDE
-> CdRomVBOX_CD-ROM_____________________________1.0_____
-->42562d3231303037333036372020202020202020
[Несколько параметров из этого ключа]
Class = "CDROM"
DeviceDesc = "CD-ROM дисковод"
HardwareID =
"IDE\CdRomVBOX_CD-ROM_____________________________1.0_____
IDE\VBOX_CD-ROM_____________________________1.0_____
IDE\CdRomVBOX_CD-ROM_____________________________
VBOX_CD-ROM_____________________________1.0_____
GenCdRom"
-> DiskVBOX_HARDDISK___________________________1.0_____
--> 42566463356233316663332d6661316364612065
[И отсюда несколько параметров для сравнения]
Class = "DiskDrive"
DeviceDesc = "Дисковый накопитель"
HardwareID =
"IDE\DiskVBOX_HARDDISK___________________________1.0_____
IDE\VBOX_HARDDISK___________________________1.0_____
IDE\DiskVBOX_HARDDISK___________________________
VBOX_HARDDISK___________________________1.0_____
GenDisk
"
PPS: и всё-таки. Не понял, а где тогда в HardwareID тут циферки серийного номера? %-\ Вот эти "42566463356233316663332d6661316364612065". В "Диспетчере устройств они показываются":IDE\DISKVBOX_HARDDISK___________________________1.0_____\42566463356233316 663332D6661316364612065
Вот поэтому я и не советую заморачиваться с реестром ) -
Volchik (23.07.11 12:51) [6]Ключ ко всему функция
GetVolumeInformation -
Anatoly Podgoretsky © (23.07.11 13:44) [7]> Volchik (23.07.2011 12:51:06) [6]
А кому нибудь нужна информация о томе? -
Игорь Шевченко © (25.07.11 15:22) [8]Труднее всего пассивному некрофилу
-
Виктор85 (28.07.11 11:57) [9]компонент THDDInfo прекрасно работает:
http://artsoft.nm.ru/download.html -
Это абсолютно бесперспективно.
Потому что дисковая подсистема может быть представлена рейдом, а там серийный номер стандартными средствами всё равно не получишь. И экзотические SSD тоже могут быть разные, которые могут и не поддерживать SMART. Обычно поддреживают, но ведь есть же SSD на PCI экспресе. А таких систем становится с каждым годом всё больше. И с внешними дисками обычно тоже ничего не выходит. Так что нет смысла биться. -
igen (07.10.15 14:29) [11]Спасибо за ссылку на HDDInfo!
С RAID'ами и SSD конечно не проверял, но с XP до 10-ки работает нормально, в т.ч. с гибридным HDD.
Alex Konshin, А что у SSD нет серийных номеров? PCI-e SSD ну это по-моему совсем редкий зверь, быстрее можно PATA винчестер встретить.