Конференция "WinAPI" » Получение HDD serial без WMI и прав админа
 
  • 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: пример этого кусочка реестра из виртуальной XP
    IDE
    -> 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
  • Alex Konshin © (01.08.11 02:31) [10]
    Это абсолютно бесперспективно.
    Потому что дисковая подсистема может быть представлена рейдом, а там серийный номер стандартными средствами всё равно не получишь. И экзотические SSD тоже могут быть разные, которые могут и не поддерживать SMART. Обычно поддреживают, но ведь есть же SSD на PCI экспресе. А таких систем становится с каждым годом всё больше. И с внешними дисками обычно тоже ничего не выходит. Так что нет смысла биться.
  • igen (07.10.15 14:29) [11]
    Спасибо за ссылку на HDDInfo!
    С RAID'ами и SSD конечно не проверял, но с XP до 10-ки работает нормально, в т.ч. с гибридным HDD.
    Alex Konshin, А что у SSD нет серийных номеров? PCI-e SSD ну это по-моему совсем редкий зверь, быстрее можно PATA винчестер встретить.
 
Конференция "WinAPI" » Получение HDD serial без WMI и прав админа
Есть новые Нет новых   [118598   +13][b:0][p:0.002]