
Problem
Als Windows-Administrator wird man mit Aufgaben konfrontiert, die recht einfach klingen. Bis man sie sehr oft von Hand ausführen muss.
Ein Beispiel aus der Praxis:
„Erstelle eine neue GPO und verlinke diese auf alle OUs, die ‚Würstchen‘ heißen, unterhalb von OU=Speisekarte“.
Oder anders formuliert: Verknüpfe eine Gruppenrichtlinie auf alle 3673409 OUs mit diesem Namen.
Das ist in der Gruppenrichtlinienverwaltung technisch gar kein Problem; sofern die Anzahl übersichtlich ist (und die OUs nicht über mehrere Ebenen verteil sind). Man klickt sich durch die AD-Verwaltungskonsole, öffnet Eigenschaften, fügt die GPO hinzu … und wiederholt das sehr oft.
Lösung
Das kann man glücklicherweise ganz gut mit der PowerShell automatisieren.
Dieser Schnippsel durchsucht mit -like
alle OUs unterhalb eines angegebenen DN nach einem bestimmten Begriff und verlinkt automatisch die gewünschte GPO dazu.
$BaseDN = "OU=UNTERSTRUKTUR,DC=EXAMPLE,DC=COM"
$Suchbegriff = "WÜRSTCHEN"
$GPO = Get-Gpo -Name "NEUE_GRUPPENRICHLINIE"
Get-ADOrganizationalUnit -SearchBase $BaseDN -Filter * -SearchScope Subtree |
Where-Object { $_.Name -like "*$Suchbegriff*" } |
ForEach-Object {
New-GPLink -Guid $GPO.id -Target $_.DistinguishedName -LinkEnabled Yes
}
Mit diesen Zeilen wird aus ermüdender Klickarbeit eine schnelle Aktion.