PAW/Link-GpoToOU.ps1
2023-11-29 17:01:08 +01:00

32 lines
735 B
PowerShell

<#
.EXAMPLE
$GpoLinks = @(
$(New-Object PSObject -Property @{ Name = "POLICYNAME" ; OU = "OUPATH"; Order = 1; LinkEnabled = 'YES'}),
)
.\Link-GpoToOU.ps1 -GpoLinks $GpoLinks -Verbose
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $True)][PSObject] $GpoLinks
)
Import-Module ActiveDirectory
$DC = (Get-ADDomain).DistinguishedName
$GpoLinks | foreach-Object {
$name = $_.Name
$OU = $_.ou
$order = $_.Order
$LinkEnabled = $_.LinkEnabled
if ($OU -eq "") {
$ouPath = $DC
}
else {
$ouPath = "$OU,$DC"
}
Write-Verbose "Linking GPO '$name' into OU '$ouPath'"
New-GPLink -Name $name -Target $ouPath -LinkEnabled $LinkEnabled -Order $order
}