四款工具帮你验证组策略对象设置

日期: 2014-12-23 作者:Nirmal Sharma翻译:杨旭 来源:TechTarget中国 英文

第一次应用组策略对象(GPO)的时候,你想知道是否成功了?一旦将GPO应用到Windows计算机,配置的设置也会一同应用,但也有例外,因为GPO设置是由Winlogon进程在客户端扩展的帮助下完成的。 如果客户端扩展失败,相关的GPO设置将无法应用。桌面管理员可以通过内置的Windows工具来检查是否应用了某个特定的GPO及其设置。其中一些工具也可以用于远程计算机。

使用GPResult检查组策略应用 GPResult是一款强大的命令行工具,可以将Windows设备上应用的组策略设置生成报告。该工具从Windows 2000时出现,支持以下参数: GPResult /R——报告中只包括用户和计……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

第一次应用组策略对象(GPO)的时候,你想知道是否成功了?一旦将GPO应用到Windows计算机,配置的设置也会一同应用,但也有例外,因为GPO设置是由Winlogon进程在客户端扩展的帮助下完成的。

如果客户端扩展失败,相关的GPO设置将无法应用。桌面管理员可以通过内置的Windows工具来检查是否应用了某个特定的GPO及其设置。其中一些工具也可以用于远程计算机。

使用GPResult检查组策略应用


GPResult是一款强大的命令行工具,可以将Windows设备上应用的组策略设置生成报告。该工具从Windows 2000时出现,支持以下参数:

  • GPResult /R——报告中只包括用户和计算机账户中应用的GPO。用于查看某个特定的GPO。输出显示在屏幕上。
  • GPResult /Z——可以使用/Z参数查看计算机上应用的GPO和策略设置。
  • GPResult /H <ReportFileName.html>——/H参数将所有组策略中的GPO生成报告,并以ReportFileName.HTML格式输出。如果你想查看本地电脑上的GPO和策略设置,可以使用/H参数。
  • GPResult /S <Computer Name>——指示命令获取远程计算机上的GPResult。

GPResult虽然提供了/S参数来检查远程计算机上的GPO及其设置,但最好的方法是使用远程命令执行工具,如PSExec.exe或者Windows Management Instrumentation Command line(WMIC)。

PSExec.exe和WMIC工具在远程计算机上交互运行。因为GPResult是命令行工具,可以用来编写操作脚本并在多台计算机上运行。

使用RSOP.MSC GUI工具


RSOP.MSC是一款图像用户界面(GUI)工具,是用来检查本地或远程计算机上应用的GPO和设置的首选工具。你可以使用RSOP.MSC快速确定在通过活动目录域控制器应用GPO的过程中是否存在问题。

运行RSOP.MSC后,计算机或用户配置如果有任何问题,会有红色x号提示,如图1。

图1. 运行RSOP.MSC后,MMC管理单元将配置问题标记出来
图1. 运行RSOP.MSC后,MMC管理单元将配置问题标记出来

如果你想查看问题的原因,可以到计算机/用户配置的属性页面,点击“错误信息”。如图2所示。

图2. 属性框显示组策略失败原因
图2. 属性框显示组策略失败原因

想要连通远程计算机并收集GPO RSOP数据,打开RSOP.MSC管理单元中的动作菜单,点击“更改查询”。

如果你想在几个Windows计算机上执行脚本任务,GPResult.exe比RSOP.MSC更合适。

使用注册表编辑器检查GPO是否有效


为了检查本地或远程计算机是否成功应用了组策略,可以只使用注册表编辑器(Registry Editor)。注意,其只显示已应用的GPO。换句话说,GPO策略设置存储在注册表的多个地方,除非你知道GPO策略设置在注册表中如何存储以及存储的位置,否则很难知道应用了哪些设置。

计算机上应用的GPO信息位于HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionGroup PolicyHistory。该键值包含子键,子键包含了已经应用的GPO名称。如图3所示。

图3. 子键包含了已经应用的GPO名称
图3. 子键包含了已经应用的GPO名称

管理员还可以通过注册表编辑器连接到远程计算机的注册表,前提是该远程计算机上有运行“远程注册表”服务。连接到远程注册表,导航到上述的注册表位置,就可以检查该远程计算机上的GPO应用。

GPO PowerShell模块


当然,你可以使用GPResult.exe和RSOP.MSC获得Windows计算机的GPO应用结果,但是微软在Windows PowerShell中也提供了相同的功能。GPO PowerShell cmdlets可以作为远程服务器管理工具的一部分运行在Windows 7和更高的操作系统版本上。

有许多PowerShell cmdlets能够用于执行GPO相关任务,其中Get-GPResultantSetOfPolicy PowerShell cmdlet可以帮助你从本地或远程计算机上生成GPO设置。

该cmdlet能够以最快和最容易的方法获得用户、计算机或本地以及远程计算机上的GPO RSOP数据。Get-GPResultantSetOfPolicy cmdlet与RSOP.MSC类似,但是它支持XML格式的GPO RSOP报告,以及从命令行运行远程计算机上执行命令。执行以下命令可以检查本地计算机上应用的GPO和策略设置:

  • Get-GPResultantSetOfPolicy -ReportType XML -path C:MyReportsGPOReport.XML

如果你是在远程计算机上运行并且想将结果保存在本地计算机上,执行以下命令:

  • Get-GPResultantSetOfPolicy -ReportType HTML -Computer PC1.TechTarget.com -Path C:MyReportsGPOReport_PC1.html

同样的,下面的命令为TechTarget.com域中的PC1,用户名为James的计算机生成报告:

  • Get-GPResultantSetOfPolicy -User James -Computer TechTarget.comPC1 -ReportType html –Patch C:MyReportsPC1_GPOReport.html

Get-GPResultantSetOfPolicy支持–Computer参数,你可以指定一个计算机名称。在多个计算机上执行该命令时,可以使用ForEach PowerShell cmdlet读取计算机名称,然后再执行Get-GPResultantSetOfPolicy命令。

作者

Nirmal Sharma
Nirmal Sharma

TechTarget投稿作者

相关推荐