Инструмент 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. Новый узел выглядит следующим образом:


«WMI: Custom -

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

  1. Загрузите и установите GPInventory.
  2. В окне GPInventory укажите компьютеры, которые следует опрашивать.
  3. Выберите запросы, которые нужно выполнить, запустите их и сохраните определение и результаты запроса для возможного повторного использования.
  4. При необходимости повторно запустите сохраненные запросы из командной строки.
  5. Если нужно, настройте готовые запросы, чтобы повысить их гибкость.

Учебные ресурсы

Основы применения WMI

Подготовка запросов с использованием WQL,

http://msdn.microsoft.com/library/enus/wmisdk/wmi/querying_with_wql.asp

Административные инструменты WMI,

http://www.microsoft.com/downloads/ details.aspx?displaylang=en&familyid=6430f853-1120-48db-8cc5-f2abdc3ed314

Scriptomatic 2.0,

http://www.microsoft.com/downloads/ details.aspx?familyid=09dfc342-648b-4119-b7eb-783b0f7d1178&displaylang=en