Мы проводим инвентаризацию всех наших рабочих станций, многие из которых были развернуты в спешке. Следовательно, у нас нет документированной информации о них, которую мы хотели бы. Мы используем сочетание Windows 7 Pro и Windows 7 Enterprise по причинам лицензирования. Мы знаем, сколько лицензий используется (у нас есть KMS-сервер), но мы не знаем, какая версия Windows установлена на какой конкретной рабочей станции. Итак, мой вопрос таков:
Можно ли узнать, какую версию Windows использует член домена через AD или другой аналогичный механизм? Было бы действительно здорово, если бы эту информацию вместе с именем хоста машины можно было извлечь с помощью сценария, вместо того, чтобы указывать и щелкать через инструменты удаленного администратора AD.
У меня есть права администратора домена, если это необходимо.
Если я не ошибаюсь, AD хранит только версию, пакет обновления и номер сборки ОС, но не выпуск.
Вы можете получить выпуск, используя WMI для запроса класса Win32_OperatingSystem.
РЕДАКТИРОВАТЬ
После еще одного взгляда на атрибут operatingSystem объекта компьютера через ADSIEdit выяснилось, что для Windows Vista / 7 / 2K8 и более поздних версий атрибут operatingSystem будет показывать как версию, так и выпуск, тогда как для Windows XP / 2003 и ранее он показывает только версию, но не издание.
Dsquery выполнит эту работу:
dsquery * domainroot -limit 0 -filter "(objectCategory=computer)" -attr name operatingsystem
Эта команда выводит все, что AD знает об ОС рядового компьютера.
Этот атрибут должен быть установлен для каждого компьютерного объекта. Используйте Powershell (или PowerGUI, если вы ненавидите CLI), чтобы вывести список всех компьютерных объектов и их версий O / S.