sergey vasin

The IT blog

Используем PowerShell для получения данных RSoP – Hey, Scripting Guy! Blog

leave a comment »

Резюме: Microsoft Scripting Guy, Ed Wilson рассказывает о получении результатов групповой политики (Resultant Set of Policy) при помощи Windows PowerShell.

Создает отчет RSoP в формате XML

Как я говорил в предыдущей статье, существует возможность сгенерировать отчет RSoP для всех объектов групповой политики при помощи утилиты GRResult. Основная проблема с этой утилитой заключается в ее синтаксисе. Его сложно назвать интуитивным и целостным, и примеры использования в онлайновой справке никак не исправляют эту ситуацию. Совсем другая ситуация с Windows PowerShell. Приобретя навыки работы с ним, используя одни командлеты, вы одинаково эффективно сможете применять их при работе с любыми другими командлетами. А в случае, если вы забудете указать необходимый параметр, PowerShell предложит вам ввести его после запуска команды.

Административные права

Помните, что для запуска командлета Get-GPResultantSetOfPolicy вам потребуется запустить Windows PowerShell с повышенными правами. К сожалению, выдаваемая ошибка никак не проясняет причины ее возникновения. Вот что вы увидите при попытке запуска командлета без прав администратора:

01

Вы можете спросить, как я узнал, что ошибка возникает из-за отсутствия административных прав? Ну вообще-то я написал книгу по WMI, и в сообщении HRESULT: 0x80041003 я узнал знакомую ошибку – доступ запрещен. Я сказал WMI? Да, действительно. Данные RSoP на самом деле находятся в репозитории WMI, в пространстве имен Root/RSoP. Таким образом, появление ошибки WMI не такое уж неожиданное.

Когда я открою консоль Windows PowerShell с административными правами, я импортирую модуль и запущу команду создания XML-отчета. В моей предыдущей статье, я использовал командлет Get-GPOReport для анализа определенного объекта групповой политики.

Командлет Get-GPOReport возвращает XML-объект прямо в консоль Windows PowerShell, если не указать параметр –Path. Я использовал эту возможность, чтобы сохранить результаты командлета в переменной, определенной как XMLDocument, что в дальнейшем позволяет работать с полученными объектами. Однако, поступить таким же образом с командлетом Get-GPResultantSetOfPolicy не получится, поэтому нам придется указать путь сохранения файла. При запуске следующей команды будет выведен запрос указания пути.

Get-GPResultantSetOfPolicy -ReportType xml

На рисунке ниже представлены команда, запрос пути и результаты ее выполнения после того, как путь будет указан.

02

Разбираем XML-отчет

После того, как отчет будет сгенерирован, консоль с повышенными правами нам будет уже не нужна. Я могу открыть консоль под обычным пользователем, сконвертировать содержимое файла в XML и начать с ним работать. Это показано на рисунке ниже.

03

Одна из вещей, которые меня интересуют – это порядок применения объектов групповой политики. Это важно потому, что политика, применяемая последней, всегда имеет приоритет. Например, я могу включить что-то в одной политике, отключить это в другой, и снова включить в третьей. Результирующее состояние этой настройки будет зависеть от того, в каком порядке будут применены политики.

Следующая команда выводит имя политики и порядок ее применения.

14:27 C:\> $xml.DocumentElement.ComputerResults.GPO | select name, @{LABEL=»LinkOrder»; EXPRESSION={$_.link.linkorder}} | sort linkorder

Name LinkOrder

—- ———

Local Group Policy 1

EnablePSRemoting 2

Enable WMI Relibility 3

Default Domain Policy 4

BackupOnLogOff 5

Автор:

Ed Wilson, Microsoft Scripting Guy

Оригинал:

http://blogs.technet.com/b/heyscriptingguy/archive/2013/02/08/use-powershell-to-find-group-policy-rsop-data.aspx


Страницы в социальных сетях:

Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell


Реклама

Written by Сергей Васин

Март 26, 2013 в 14:27

Опубликовано в HeyScriptingGuyBlog, PowerShell

Tagged with

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s