Инструмент GPInventory направляет запросы и составляет отчеты о состоянии удаленных систем
Иногда развертывание программы или успех какого-либо ИТ-проекта зависит от наличия определенных объектов групповой политики GPO (Group Policy Object). Например, учитывая значительное влияние на работу пользователей Windows XP Service Pack 2 (SP2), удобно задействовать один или несколько объектов GPO для управления новыми компонентами и, конечно, полезно разместить объекты GPO перед установкой пакета SP2.
Собирать информацию о развертывании GPO от каждого пользователя или компьютера поочередно с помощью GPResult или мастера GP Results Wizard консоли Group Policy Management Console (GPMC) — дело чрезвычайно утомительное, если число клиентов на предприятии велико. К счастью, разработчики Microsoft признали необходимость в централизованно управляемом инструменте для контроля применения объектов GPO. В комплекте ресурсов появился инструмент под названием GPInventory, который облегчает администраторам выполнение этой задачи. GPInventory — простой, но мощный инструмент для передачи запросов Resultant Set of Policies (RSoP) и Windows Management Instrumentation (WMI) к одной или нескольким удаленным системам и сбора результатов этих запросов.
Наряду с применением графического интерфейса GPInventory для простой инвентаризации нескольких систем можно использовать версию инструмента с командной строкой для автоматизации инвентарного аудита большого числа систем. Администратор может составлять и запускать специализированные запросы как из окна программы, так и из командной строки.
Минимальные требования
Прежде всего, следует отметить, что, поскольку GPInventory выполняет запросы WMI и RSOP на удаленных системах, с помощью инструмента можно извлекать информацию только из систем, совместимых с этими типами запросов. WMI поддерживается всеми последними операционными системами Windows, но только Windows XP и Windows Server 2003 (и, скорее всего, последующие версии) будут передавать сведения о GPO в GPInventory. Чтобы избежать досадных неудач, полезно вспомнить, что для сбора WMI-информации необходимо иметь на каждой опрашиваемой системе полномочия администратора, а для сбора данных RSOP — по крайней мере права Generate Resultant Set of Policy (logging). Следует также отметить, что для запуска GPInventory с системы XP необходима установка .NET Framework.
Получение и установка инструмента
Инструмент GPInventory можно загрузить с Web-узла Microsoft. Необходимо обратиться по адресу http://www.microsoft.com/downloads, ввести
gpinventory
в поле поиска и следовать инструкциям по загрузке файла gpinventory.msi.
Процедуру установки можно запустить непосредственно с Web-узла или двойным щелчком на загруженном .msi-файле. Программа позволяет выбрать путь для установки GPInventory. Чтобы протестировать инструмент и упростить идентификацию файлов, связанных с GPInventory, я указал другую папку для установки (выбираемая по умолчанию папка комплекта ресурсов уже заполнена различными файлами). После установки я обнаружил семь файлов, в том числе исполняемый файл GPInventory, несколько файлов с образцами и параметрами конфигурации, а также документацию.
GPInventory можно запускать из графического интерфейса либо использовать командную строку и передавать входные и выходные параметры, чтобы автоматизировать некоторые задачи по подготовке отчетов. Полезно начать с графического интерфейса, чтобы познакомиться с инструментом и создать некоторые XML-файлы, необходимые для автоматизации работы в будущем.
Работаем с программой
При первом запуске GPInventory на экране появляется изображение, напоминающее линованный лист блокнота с тремя пунктами меню вверху: File, Query и Results. Первый шаг — определить круг опрашиваемых компьютеров. Следует выбрать один из режимов Select Computers из меню Query. Режимы не нуждаются в пояснениях: компьютеры можно выбрать из контейнера Active Directory (AD) или текстового файла. Файл с именем examplecomputerlist.txt устанавливается вместе с GPInventory и представляет собой образец формата, используемого для списка компьютеров на базе текстового файла. Компьютеры выбранной группы отображаются в столбце с заголовком Computer в главном окне GPInventory.
Указав компьютеры, с которых требуется собрать информацию, необходимо уточнить, какие сведения предстоит извлечь из данной группы компьютеров. Следует щелкнуть на пункте Select Information to Gather меню Query и выбрать запросы из открывшегося окна Information. Существует две категории запросов: RSOP и WMI. Чтобы выбрать запрос, нужно сначала выделить его, затем вновь щелкнуть на нем и установить соответствующий флажок. Эта процедура отличается от типичной работы с флажками в приложениях Windows, но привыкнуть к ней несложно. Рекомендуется начать с простого запроса, например RSOP:GPOs applied to computer или WMI:Logged on user query, а затем щелкнуть на кнопке OK.
Экран 1. Пример результатов GPInventory |
После этого можно запустить запрос, нажав клавишу F5 или выбрав пункт Run Query из меню Query. Результаты будут показаны в главном окне GPInventory (экран 1). Число после имени GPO в каждой ячейке результата — представление версии GPO в формате DWORD из реестра. Например, версия 1 — 65537, версия 2 — 131074 (2X65537), версия 3 — 196611 (3X65537) и т. д.
Подготовив полезный запрос, можно сохранить как его результат, так и определение. Чтобы сохранить результаты, следует выбрать пункт Save to an XML file или Save to a text file из меню Results. В текстовом формате значения разделены символами табуляции и удобны для переноса в Excel; XML-файлы можно импортировать в базу данных, в Excel 2003, а в дальнейшем и в другие программы Microsoft Office 12.
Сохраните параметры запроса для облегчения работы в будущем, выбрав пункт Save или Save as из меню File. Введите понятное имя в диалоговом окне Save и сохраните запрос с расширением XML.
Открыв только что созданный файл определения запроса, можно познакомиться с его структурой и данными.
Запуск из командной строки
Сохранив XML-определение, как описано выше, запрос можно повторно запустить вручную из окна программы или через аргумент командной строки.
В командной строке GPInventory используется два аргумента — файл запроса и выходной файл. Файл запроса имеет тип XML и содержит определение параметров запроса, а в выходном файле сохраняются результаты запроса. Пользователь управляет форматом выходного файла, указывая расширение .txt или .xml после имени файла. Например, команда
gpinventory MyQuery.xml
MyOutput.txt
сохраняет результаты запроса, определенного в MyQuery.xml, в файле с разделением символами табуляции и именем MyOutput.txt. Следует помнить, что, если эти файлы находятся в папке, отличной от той, в которой запускается команда, требуется указать путь к исполняемому файлу GPInventory и определению запроса.
GPInventory можно запускать из командной строки по расписанию с помощью Scheduled Tasks. Таким способом можно выполнять сложные запросы в нерабочие часы, не создавая неудобств для пользователей и не влияя на доступность ресурсов. С помощью этой функции можно многократно повторять запросы по расписанию, сравнивая результаты с базовыми значениями.
Специализированные запросы
GPInventory в первоначальном виде — весьма удобный и мощный инструмент, но возможности этой превосходной утилиты можно расширить, если настроить имеющиеся запросы на конкретное применение. Редактируемый список определений запросов представлен в виде структуры XML-узлов в файле wmiqueries.xml. Если открыть файл wmiqueries.xml в программе редактирования, можно увидеть список запросов, запускаемых с помощью GPInventory. Например, запрос по умолчанию для сбора информации об изготовителе компьютера:
ManagedObject Name=
«WMI: Computer Manufacturer»
Query=»select Manufacturer
from Win32_
ComputerSystem»/>
(вводится одной строкой). Как можно заметить, конструкция весьма проста и ее легко прочитать. Значение, следующее за ManagedObjectName=, представляет собой тип запроса, который отображается в окне Information, а оператор, следующий за Query=, является собственно оператором языка WMI Query Language (WQL), который «просит» у клиента конкретную информацию.
Чтобы добавить собственные специализированные запросы или изменить готовые запросы, достаточно поверхностного знакомства с классами WMI и текстовым редактором. Чтобы создать специализированный запрос, который собирает сведения только о компьютерах Dell, я скопировал первоначальный XML-узел изготовителя компьютера, вставил его в новую строку и добавил простое предложение where. Новый узел выглядит следующим образом:
Manufacturer is Dell»
Query=»select Manufacturer
from Win32_ComputerSystem
where Manufacturer
Like ?%Dell%?» />
Новый узел показан в нижней части окна Information (экран 2). Этот несложный пример наглядно демонстрирует простоту и гибкость GPInventory. Такой же простой узел можно добавить к файлу wmiqueries.xml и запустить для проверки корректности WMI-запроса, прежде чем использовать его с объектом GPO для конкретной группы клиентов.
Администраторы, знакомые со сценариями WMI, могут по-разному использовать GPInventory. Более глубоко изучить WMI помогут ресурсы, перечисленные во врезке «Учебные ресурсы».
Экран 2. Готовые и специализированные запросы в окне GPInventory |
Чтобы понять, как работает предложение where и его операторы, в том числе оператор like, или выяснить характеристики системы с использованием WQL, полезно посетить первый Web-узел, названный во врезке «Учебные ресурсы». В загружаемый пакет WMI Administrative Tools (второй Web-узел) входят отличные инструменты, в том числе WMI CIM Studio и WMI Object Browser, которые помогут разобраться в механизме работы WMI. И наконец, Scriptomatic (на третьем Web-узле) — отличный способ научиться составлять WMI-сценарии и познакомиться с конструкциями WQL.
GPInventory — готовая к применению эффективная утилита контроля применения объектов GPO на предприятии. Достаточно проявить минимальную изобретательность, чтобы значительно расширить применение этого замечательного компактного инструмента.
Эд Рот - сетевой администратор в правительственных учреждениях, редактор и рецензент продуктов Windows IT Pro. eroth@windowsitpro.com
Краткая характеристика
Проблема:
сбор сведений о применении GPO для пользователей и компьютеров.
Решение:
инструмент Microsoft GPInventory.
Необходимые ресурсы:
инструмент GPInventory: компьютеры, работающие с Windows 2003 или XP и .NET Framework; административные полномочия на каждой опрашиваемой системе, чтобы получить WMI-информацию, и по крайней мере полномочия Generate Resultant Set of Policy (logging) на каждой системе для сбора данных RSOP
Уровень сложности:
***00
- Загрузите и установите GPInventory.
- В окне GPInventory укажите компьютеры, которые следует опрашивать.
- Выберите запросы, которые нужно выполнить, запустите их и сохраните определение и результаты запроса для возможного повторного использования.
- При необходимости повторно запустите сохраненные запросы из командной строки.
- Если нужно, настройте готовые запросы, чтобы повысить их гибкость.
Учебные ресурсы
Основы применения WMI
Подготовка запросов с использованием WQL,
http://msdn.microsoft.com/library/enus/wmisdk/wmi/querying_with_wql.asp
Административные инструменты WMI,
Scriptomatic 2.0,