组策略对象,GPO(Group Policy Object),实际上就是组策略设置的集合。
简介
在GPO中的(在 Microsoft Windows XP 中,可以使用
组策略为用户和计算机组定义用户和计算机配置。通过使用
组策略 Microsoft Management Console (MMC) 管理单元,您可以为特定的用户和计算机组创建特定的
桌面配置。您创建的
组策略设置包含在组策略对象中,后者进而与选定的 Active Directory 容器(如站点、域或组织单位 (OU))关联)。
GPO中包含用于特定用户或计算机的策略信息和配置。可以将其看成是
组策略工具所生成的文档,它在原理上同.txt或.doc这类文档没有什么差别。
验证设置
如果客户端扩展失败,相关的GPO设置将无法应用。桌面管理员可以通过内置的Windows工具来检查是否应用了某个特定的GPO及其设置。其中一些工具也可以用于远程计算机。
使用GPResult检查组策略应用
GPResult是一款强大的命令行工具,可以将Windows设备上应用的组策略设置生成报告。该工具从Windows 2000时出现,支持以下参数:
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的过程中是否存在问题。
如果想在几个Windows计算机上执行脚本任务,GPResult.exe比RSOP.MSC更合适。
使用注册表编辑器检查GPO是否有效
为了检查本地或远程计算机是否成功应用了组策略,可以只使用注册表编辑器(Registry Editor)。注意,其只显示已应用的GPO。换句话说,GPO策略设置存储在注册表的多个地方,除非知道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和策略设置:
如果是在远程
计算机上运行并且想将结果保存在本地计算机上,执行以下命令:
同样的,下面的命令为TechTarget.com域中的PC1,用户名为James的计算机生成报告:
Get-GPResultantSetOfPolicy支持–Computer参数,可以指定一个计算机名称。在多个计算机上执行该命令时,可以使用ForEach PowerShell cmdlet读取计算机名称,然后再执行Get-GPResultantSetOfPolicy命令。