如何通过实际示例逐步在 PowerShell 中管理 GPO

最后更新: 28/03/2025
作者: 艾萨克
  • PowerShell的 允许您以自动和精确的方式创建、链接和删除 GPO。
  • 可以使用可重复使用的脚本执行策略备份和恢复。
  • 可以以 HTML 或 XML 等格式生成详细的 GPO 报告。
  • 使用 PowerShell 简化了 AD DS 中重复的策略管理任务。

使用 PowerShell 管理 GPO

企业环境中的组策略 (GPO) 管理是维护 Active Directory 中计算机和用户配置的安全性和标准化的基本支柱。虽然图形界面提供了许多工具, PowerShell 是一种功能强大、用途广泛且可自动化的替代方案 处理 GPO 的任何方面,从创建到删除。对于那些有兴趣了解如何优化这些任务的人,你可以查阅有关 在 PowerShell 中管理 GPO.

在本文中,我们将向您展示如何使用 PowerShell 以详细而专业的方式管理组策略, comandos 实用、示例、建议、最佳实践以及充分利用这些功能所需了解的一切。

入门:配置 PowerShell 来管理 GPO

在开始执行命令之前, 必须导入与 Active Directory 和 GPO 配合使用所需的模块。 PowerShell 作为自动化框架,要求系统上有以下模块:

  • 导入模块 ActiveDirectory:启用与 AD 对象交互的所有功能。
  • 导入模块组策略:允许您直接对组策略执行操作。

加载后,您可以使用以下命令列出 GroupPolicy 模块中所有可用的 cmdlet:

获取命令 –模块组策略

此命令将为您提供使用 PowerShell 对 GPO 执行的所有可能操作的概述。

查询域中现有的 GPO

PowerShell GPO

通常的第一步是 查看环境中配置了哪些策略。为此,您可以使用以下命令:

获取 GPO -域 domain.name -全部

哪里 域名 应该替换为您的真实域名,例如: 本地公司.

  在小米手机上设置 Google 键盘

此 cmdlet 列出了所有现有的 GPO,并可以通过其他过滤器进行补充以优化搜索。

从头开始创建新的 GPO

PowerShell 允许 创建新的空白政策,当您需要从头开始应用特定设置时,此功能非常有用:

New-GPO -Name“GPO 名称”-Comment“描述性注释”

此命令创建 GPO 结构,但不应用任何链接或设置。这是个性化开发的起点。

将 GPO 链接到组织单位 (OU)

创建 GPO 后,需要 将其分配给 OU 或域以使其生效。使用以下命令完成此操作:

New-GPLink -名称«GPOName»-目标«ou=OUname,dc=company,dc=local»

争论 -目标 必须具有 OU 的准确专有名称 (DN)。

GPO 链接至组织单位

取消链接或禁用 GPO 而不删除它

在某些情况下可能会有用 暂时禁用策略但不删除它,无论是出于测试还是由于组织变更:

Set-GPLink -名称«GPOName»-目标«ou=OUname,dc=company,dc=local»-LinkEnabled否

此方法禁用应用程序但不删除 GPO 与 OU 之间的关系。

彻底删除 GPO

如果某项策略不再使用或产生冲突,您可以 永久消除 使用以下命令:

删除-GPO -名称“GPOName”-域“company.local”

使用您的标识符也是有效的 GUID 如果您有其唯一代码:

删除-GPO -Guid “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”

备份单个或全局 GPO

使用 PowerShell 的一大优势是能够 自动化 GPO 备份 以一种简单的方式:

Backup-GPO -名称 «GPOName» -路径 «C:\Backups\GPOs»

或者如果您想备份域的所有策略:

Backup-GPO -All -路径“C:\Backups\GPOs”

您还可以添加评论 轻松识别每个备份:

Backup-GPO -名称 «GPOName» -路径 «C:\Backups» -注释 «2024 年 XNUMX 月备份»

使用 PowerShell 备份 GPO

从备份恢复策略

如果你以前复制过,你可以 必要时恢复 使用命令:

Restore-GPO -名称 «GPOName» -路径 «C:\Backups\GPOs» -注释 «2024 年 XNUMX 月备份»

恢复速度快且实用,非常适合发生故障或不必要的更改。

  如何使用 FreeCommander XE 在 Windows 中自动执行文件任务

强制 GPO 更新

在某些情况下,政策会发生变化 需要时间复制 或未按预期应用。对于这些情况,你可以强制应用以下方法:

调用-GPUpdate

如果您需要在远程计算机上执行此操作:

调用-GPUpdate-计算机“域\计算机”

您还可以将此操作仅限于使用以下方式的用户或计算机:

  • -目标用户
  • -目标计算机

如果需要 更新整个 OU 的所有策略,您可以使用 脚本 一行即可:

Get-ADComputer –Filter * -SearchBase «ou=sales,dc=company,dc=local» | foreach { Invoke-GPUpdate –计算机 $_.Name -Force }

通过 GPO 部署 PowerShell 脚本

除了管理 GPO 本身之外,PowerShell 还允许您 政策内容本身就是其脚本,例如用于以下任务:

  • 网络驱动器的自动映射。
  • 打印机分配。
  • 备份。
  • 安装程序。

安装驱动器的示例行如下:

New-PSDrive –名称«P» –PSProvider FileSystem –Root «\\Server\Shared» –持久

可以通过以下部分将此脚本添加到 GPO 用户登录.

通过 GPO 禁用 PowerShell

在安全性是关键因素的环境中,您可能需要 阻止特定用户访问 PowerShell 通过政策,特别是涉及共享终端或关键站点时:

  1. 从组策略控制台创建一个新的 GPO。
  2. 去吧 用户配置 > 策略 > 管理模板 > 系统.
  3. 使能够 不要运行应用程序 Windows 指定的.
  4. 增加 powershell.exe y 执行程序 到列表。

这将阻止应用此 GPO 的用户运行 PowerShell,即使是手动运行。

获取一个或多个 GPO 的详细报告

为了记录、审计或检测错误,PowerShell 允许 生成包含 GPO 的所有设置和链接的 HTML 或 XML 报告 具体的:

Get-GPOReport -Name“GPO 名称”-ReportType HTML -Path“C:\Reports\GPO\report.html”

如果您希望对域中的所有 GPO 执行此操作,则可以使用:

Get-GPOReport -All -ReportType HTML -Path «C:\Reports\GPO\todo.html»

HTML GPO 报告

这些报告包括链接、WMI 过滤器(如果有)、用户和计算机设置、委派等。

  您必须将最终磁盘插入多个卷设置错误[修复]。

PowerShell 是现代系统管理员寻求的重要工具 自动执行任务,节省时间,避免手动错误,并正确记录您的操作。。无论是创建新策略、应用脚本、生成备份还是强制更新,它与 Active Directory 的集成使其成为企业网络中的重要支柱。通过此处汇编的示例和说明,您已经准备好掌握使用 PowerShell 进行 GPO 管理。

[相关网址=»https://mundobytes.com/how-can-i-download-gpedit-msc-windows-7/»]