首页 > 基础设施 > 正文

五大PowerShell命令简化组策略管理

2012-06-29 16:46:27  来源:TechTarget中国

摘要:对于组策略的管理,传统的方式是通过组策略管理控制台(GPMC)来进行。使用图形界面(GUI)让管理员对数千个组策略选项的管理轻松了许多。
关键词: 组策略

    对于组策略的管理,传统的方式是通过组策略管理控制台(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[page]
    使用所有提到的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时,有这样一个简单的输出,就可以非常容易的排除任何基于权限的问题。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:zhangyexi

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。