概述
使用 PowerShell 快速将 GPO(组策略对象)链接到 OU(组织单位)是一个非常高效的操作。这里提供几种方法,从最简单到最强大。
打开 PowerShell(务必以管理员身份运行),根据需求执行以下脚本。
简单链接
Import-Module GroupPolicy -Force Import-Module ActiveDirectory -Force New-GPLink -Name "需要链接的GPO名称" -Target "OU=销售部,DC=yourdomain,DC=com" -LinkEnabled Yes
使用带查询的脚本
$GpoName = "Security Baseline" # 定义需要链接的OU名称列表 $OuNames = @("财务部", "研发部", "人力资源部") $Gpo = Get-GPO -Name $GpoName foreach ($Ou in $OuNames) { $TargetOU = Get-ADOrganizationalUnit -Filter "Name -eq '$Ou'" if ($TargetOU) { New-GPLink -Guid $Gpo.Id -Target $TargetOU.DistinguishedName -LinkEnabled Yes Write-Host "已链接到 OU: $Ou" } else { Write-Warning "未找到OU: $Ou" } }
批量链接多个 GPO 到多个 OU
将一个 GPO 链接到多个 OU
$GpoName = "Security Baseline" # 定义需要链接的OU名称列表 $OuNames = @("财务部", "研发部", "人力资源部") $Gpo = Get-GPO -Name $GpoName foreach ($Ou in $OuNames) { $TargetOU = Get-ADOrganizationalUnit -Filter "Name -eq '$Ou'" if ($TargetOU) { New-GPLink -Guid $Gpo.Id -Target $TargetOU.DistinguishedName -LinkEnabled Yes Write-Host "已链接到 OU: $Ou" } else { Write-Warning "未找到OU: $Ou" } }
将多个 GPO 链接到一个 OU
$OuName = "销售部" # 定义需要链接的GPO名称列表 $GpoNames = @("Default Domain Policy", "Chrome Settings", "Drive Mappings") $TargetOU = Get-ADOrganizationalUnit -Filter "Name -eq '$OuName'" foreach ($Gpo in $GpoNames) { $GpoObject = Get-GPO -Name $Gpo -ErrorAction SilentlyContinue if ($GpoObject) { New-GPLink -Guid $GpoObject.Id -Target $TargetOU.DistinguishedName -LinkEnabled Yes Write-Host "已链接GPO: $Gpo" } else { Write-Warning "未找到GPO: $Gpo" } }
0