对于组策略的管理,传统的方式是通过组策略管理控制台(GPMC)来进行。使用图形界面(GUI)让管理员对数千个组策略选项的管理轻松了许多。然而,从Windows Server 2008开始,诞生了组策略的PowerShell命令,它们可以更加简化组策略的管理过程。 Get-GPO Get-GPO命令可以检索到每一个组策略对象(GPO)的所有信息。
而且可以根据GPO的名称,GPO的GUID来检索组策略信息,也可以使用-all选项来检索域中的所有组策略。虽然你会觉得通过GPMC也能获取这些信息,但是命令的输出还能列出一些通常会错过的信息,如GPO的所有者,它的创建时间,最后的修改时间以及启用……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
对于组策略的管理,传统的方式是通过组策略管理控制台(GPMC)来进行。使用图形界面(GUI)让管理员对数千个组策略选项的管理轻松了许多。然而,从Windows Server 2008开始,诞生了组策略的PowerShell命令,它们可以更加简化组策略的管理过程。
Get-GPO
Get-GPO命令可以检索到每一个组策略对象(GPO)的所有信息。而且可以根据GPO的名称,GPO的GUID来检索组策略信息,也可以使用-all选项来检索域中的所有组策略。虽然你会觉得通过GPMC也能获取这些信息,但是命令的输出还能列出一些通常会错过的信息,如GPO的所有者,它的创建时间,最后的修改时间以及启用还是禁用的信息。在网络中对于组策略问题进行排错时,这些信息将至关重要。
Backup/Restore-GPO
虽然可以通过系统状态的备份来对GPO进行备份,但是通过一个专门的任务对组策略进行单独备份也是一个不错的主意,毕竟这会让GPO的恢复变得更加容易。幸运的是,使用PowerShell命令backup-GPO就可以做到。与Get-GPO协作,可以根据GPO的名称,GUID或者使用-all选项来指定备份的GPO。这个命令最有用的部分是可以使用PowerShell脚本来定时进行备份:
Backup-Gpo -Name CompanyGPO -Path C:GPO-Backup -Comment "Monthly Backup"
Restore-GPO命令可以将GPO还原到指定的域。然而,如果你使用backup-GPO和restore-GPO命令来迁移组策略对象,需要保证Windows Server2008操作系统版本的一致性。也就是说,Windows Server 2008 R2的GPO将只能由Windows Server 2008 R2进行恢复。
Get-ResultantSetOfPolicy
很久以前,GPMC就都可以提供组策略的结果报告,这对于组策略的规划和记录来说都是一个非常有用的工具。如果你使用PowerShell命令get-ResultantSetOfPolicy,也可以迅速得到组策略的结果,而且报告可以是HTML的格式。例如,如果你想检查一个特定的用户在特定的计算机上组策略设置的结果,可以运行以下的命令,命令的结果会产生一个所有信息的HTML文档:
Get-GPResultantSetofPolicy -user domaindomain.user -reporttype html -path c:GPO-ReportsUserGPOReport.html
使用所有提到的cmdlet,PowerShell还能够提供一种额外的管理能力,那就是将这些命令脚本化,并按照计划执行,这样就可以更有效的监控组策略基础架构的运行状况。
Set/Remove – GPLink
GPLink的cmdlet可以让你创建和删除GPO与OU之间的关联关系。虽然在GPMC中执行这项任务也非常容易,但是cmdlet还可以提供另一个方便的管理工具。假如你需要一个GPO只是在每个月的某一天运行,其它时间禁止运行。可以在这一天计划运行GP link命令将GPO和需要的OU关联起来,并在这一天结束前将GPO的关联删除,整个过程系统自动处理,无需手工运行。你还可以使用其它GPO命令与GPLink的cmdlet进行组合,通过使用管道命令执行remote-GPLink,以下示例就是如何指定一条组策略或继承组策略,然后删除其链接:
(Get-GPInheritance -Target "ou=CompanyOU,dc=domain,dc=com").GpoLinks | Remove-GPLink
Get-GPPermissions
组策略有时会应用失败的原因之一是因为在GPO上不正确的权限设置。Get-GPPermissions cmdlet会生成详细的报告,报告中会显示GPO的访问控制列表(ACL)以及应用的权限。所以,如果你想准确的了解谁对某个GPO有权限,可以使用下列命令:
Get-GPPermissions -Name CompanyGPO -TargetName "Company" - TargetType Group
命令会给出以下的输出:
Trustee: Domain Users
TrusteeType: Group
PermissionLevel: GpoRead
Inherited: False
你能看到ACL中的所有对象,包括所有的管理组和系统组。在应用GPO时,有这样一个简单的输出,就可以非常容易的排除任何基于权限的问题。
作者
翻译
相关推荐
-
应用PowerShell进行SharePoint Online管理
在应用PowerShell在线管理SharePoint之前,管理员需要进行一系列准备工作,例如下载SharePoint Online Management Shell等。
-
如何配置Windows服务器本地安全策略?
企业为新服务器配置本地安全策略非常重要,包括配置及启动服务器防火墙,停用所有不必要的系统服务,处理补丁管理以及阻止未经授权的访问等等。
-
两种方式将Windows容器部署到微软Azure中
想要创建并管理Windows Server容器吗?本文将会介绍如何利用本地Docker命令和PowerShell模块来实现以上目标。
-
PowerShell脚本示例及管理员参考指南
精明的Windows专业人士和管理员甚至也会做出比卷子袖子干事更加愚笨的事情,为了实现自动化任务,他们需要了解脚本语言以及所有PowerShell工具。