Ответы:
Как заметил Джош Кинг, вы можете использовать srvinfoинструмент Windows 2003 Resource Kit .
На Windows 7 вы можете использовать systeminfo
systeminfo /s remote_computer_name
nmapможет выполнять обнаружение удаленной ОС .
Это не на 100% точно, но вы должны убедиться сами.
Вот пример результата. Я специально выбрал результат, который не был на 100% точным, но этот компьютер - Windows Server 2008.
Предупреждение: результаты OSScan могут быть ненадежными, поскольку мы не смогли найти хотя бы 1 открытый и 1 закрытый порт.
Тип устройства: универсальный.
Работает (ПРОСТО УГЛУБЛЯЕТСЯ): Microsoft Windows Vista | 2008 | 7 (98%)
Агрессивные догадки ОС: Microsoft Windows Vista SP0 или SP1, Server 2008 SP1 или Windows 7 (98%), Microsoft Windows Server 2008 (98%), Microsoft Windows 7 Professional (97%), Microsoft Windows Vista Business SP1 (93%), Microsoft Windows Vista Home Premium SP1 ( 93%), Microsoft Windows Server 2008 SP2 (91%), Microsoft Windows Vista Home Premium SP1, Windows 7 или Server 2008 (91%), Microsoft Windows 7 (90%)
Нет точных совпадений ОС для хоста (условия тестирования не идеал).
Спасибо [squillman] :)
Пока у вас так много машин, которые нужно проверить, просто сделайте это:
(1) Создать TXT-файл содержит все имена хостов ваших машин. Например: ALL-MACHINES.TXT
machine_number_0001
machine_number_0002
machine_number_0013
machine_number_0101
machine_number_0111
(2) выполнить инструкцию в рамках CMD:
C:\Users\MrCMD> FOR /F %S IN ('TYPE ALL-MACHINES.TXT') DO SYSTEMINFO /S %S [enter]
(3) Любые комментарии по улучшению приветствуются. :)
Если у вас есть доступ к одному из наборов ресурсов Windows Server (наверняка, 2003 год, но вы не уверены в новых версиях), вы можете использовать команду Srvinfo.
Srvinfo \\remote_compute_rname
Вы получите массу информации от него, но то, что вас интересует, это:
Название продукта: Microsoft Windows XP Параметры продукта: Профессиональный
Для тех, кто приезжает сюда, нужно сделать много машин и использовать PowerShell:
Один компьютер: Get-CimInstance Win32_OperatingSystem -ComputerName Имя компьютера | CSName Select-Object, Caption, BuildNumber, OSArchitecture
Все машины: Get-ADComputer -filter * | Foreach-Object {Get-CimInstance Win32_OperatingSystem -ComputerName $ _. Name -ErrorAction SilentlyContinue | Select-Object CSName, Caption, BuildNumber, OSArchitecture} | Format-Table -Property * -AutoSize
Если конечно у вас включен WinRM. Вы также можете включить WinRM через PS, но это уже другая тема.