第一次应用组策略对象(GPO)的时候,你想知道是否成功了?一旦将GPO应用到Windows计算机,配置的设置也会一同应用,但也有例外,因为GPO设置是由Winlogon进程在客户端扩展的帮助下完成的。
如果客户端扩展失败,相关的GPO设置将无法应用。桌面管理员可以通过内置的Windows工具来检查是否应用了某个特定的GPO及其设置。其中一些工具也可以用于远程计算机。
使用GPResult检查组策略应用
GPResult是一款强大的命令行工具,可以将Windows设备上应用的组策略设置生成报告。该工具从Windows
2000时出现,支持以下参数:
GPResult
/R——报告中只包括用户和计算机账户中应用的GPO。用于查看某个特定的GPO。输出显示在屏幕上。
GPResult
/Z——可以使用/Z参数查看计算机上应用的GPO和策略设置。
GPResult
/H
——/H参数将所有组策略中的GPO生成报告,并以ReportFileName.HTML格式输出。如果你想查看本地电脑上的GPO和策略设置,可以使用/H参数。
GPResult
/S ——指示命令获取远程计算机上的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管理单元将配置问题标记出来
如果你想查看问题的原因,可以到计算机/用户配置的属性页面,点击“错误信息”。如图2所示。
图2. 属性框显示组策略失败原因
想要连通远程计算机并收集GPO
RSOP数据,打开RSOP.MSC管理单元中的动作菜单,点击“更改查询”。
如果你想在几个Windows计算机上执行脚本任务,GPResult.exe比RSOP.MSC更合适。
使用注册表编辑器检查GPO是否有效
为了检查本地或远程计算机是否成功应用了组策略,可以只使用注册表编辑器(Registry
Editor)。注意,其只显示已应用的GPO。换句话说,GPO策略设置存储在注册表的多个地方,除非你知道GPO策略设置在注册表中如何存储以及存储的位置,否则很难知道应用了哪些设置。
计算机上应用的GPO信息位于HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group
Policy\History。该键值包含子键,子键包含了已经应用的GPO名称。如图3所示。
图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:\MyReports\GPOReport.XML
如果你是在远程计算机上运行并且想将结果保存在本地计算机上,执行以下命令:
Get-GPResultantSetOfPolicy
-ReportType HTML -Computer PC1.TechTarget.com -Path
C:\MyReports\GPOReport_PC1.html
同样的,下面的命令为TechTarget.com域中的PC1,用户名为James的计算机生成报告:
Get-GPResultantSetOfPolicy
-User James -Computer TechTarget.com\PC1 -ReportType html –Patch
C:\MyReports\PC1_GPOReport.html
Get-GPResultantSetOfPolicy支持–Computer参数,你可以指定一个计算机名称。在多个计算机上执行该命令时,可以使用ForEach
PowerShell cmdlet读取计算机名称,然后再执行Get-GPResultantSetOfPolicy命令。
【TechTarget中国原创内容,版权所有,未经授权谢绝转载。】
【内容合作,请联系市场部,否则TechTarget中国将保留追究其法律责任的权利。】