Unbenutzte Gruppenrichtlinien herausfinden via PowerShell
In größeren Umgebungen kann die Anzahl an Gruppenrichtlinien schnell anwachsen, wodurch auch das gesamte Management teilweise sehr unübersichtlich werden kann. Aus diesem Grund sollten regelmäßig alte und nicht mehr benutzte Gruppenrichtlinien entfernt werden. Doch wie findet man diese am einfachsten?
Eine gute Lösung ist nach nicht verknüpften Gruppenrichtlinien zu suchen und diese zu löschen. Dabei sollte aber erwähnt werden, dass eventuell einige Gruppenrichtlinien mit Absicht nicht verknüpft sind, da sie beispielsweise für Testzwecke verwendet werden. Diese sollten dann selbstverständlich nicht gelöscht werden ;-)
In den “Group Policy Management Console Scripting Samples” ist das Skript “FindUnlinkedGPOs.wsf” enthalten, welches die Suche nach nicht verknüpften Gruppenrichtlinien automatisch durchführt. Noch einfacher funktioniert es mit der PowerShell. Folgendes Skript erledigt genau diese Aufgabe:
import-module grouppolicy
function IsNotLinked($xmldata){
If ($xmldata.GPO.LinksTo -eq $null) {
Return $true
}
Return $false
}
$unlinkedGPOs = @()
Get-GPO -All | ForEach { $gpo = $_ ; $_ | Get-GPOReport -ReportType xml | ForEach { If(IsNotLinked([xml]$_)){$unlinkedGPOs += $gpo} }}
If ($unlinkedGPOs.Count -eq 0) {
"No Unlinked GPO's Found"
}
Else{
$unlinkedGPOs | Select DisplayName,ID | ft
}
Alternativ ist das Skript auch als Download verfügbar.
Download PowerShell Skript “Get Unlinked Group Policy Objects”
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
Oder man erstellt einfach eine neue Domäne und nimmt keine GPO’s mit :P
Aber da das nicht alltäglich passiert kann man am besten wirklich so ein Script laufen lassen.
Danke für den Tipp, wandert mit in die Skriptsammlung 8-) Kann man sicherlich hin und wieder mal gebrauchen.