powershell icon 17209 400x400

Active Directory – Bericht zu allen GPO’s

cropped Andreas Hartig 003Veröffentlicht von

Wer schnell im Active Directory die GPOs nach Namen oder nach aktivierten Computer oder User GPO Einstellungen sortieren oder filtern will, der bedient sich am besten der Powershell.

Für einen Kunden mit vielen GPOs sollte ich nach dem Begriff RDP in bestehenden GPOs filtern, wo diese GPOs dann nur für Computer enabled sind und wo für User.

Mit folgendem Powershell Skript und viel Geduld kann man sich einen Bericht bauen lassen. Dieser läuft wirklich einige Minuten. Je nach Anzahl GPOs und verfügbarer Netzwerkbandbreite und Latenz muss man viel Geduld mitbringen.

# Retrieve all GPOs (not all GPO Reports!)
$AllGpos = Get-GPO -All
# Create a custom object holding all the information for each GPO component Version and Enabled state
$GpoVersionInfo = foreach ($g in $AllGpos) {
    [xml]$Gpo = Get-GPOReport -ReportType Xml -Guid $g.Id
    [PSCustomObject]@{
        "Name" = $Gpo.GPO.Name
        "Comp-Ad" = $Gpo.GPO.Computer.VersionDirectory
        "Comp-Sys" = $Gpo.GPO.Computer.VersionSysvol
        "Comp Ena" = $Gpo.GPO.Computer.Enabled
        "User-Ad" = $Gpo.GPO.User.VersionDirectory
        "User-Sys" = $Gpo.GPO.User.VersionSysvol
        "User Ena" = $Gpo.GPO.User.Enabled
    }
}
# See the result
$GpoVersionInfo | Sort-Object Name | Format-Table -AutoSize -Wrap

Den Powershell Output kopiere ich mir immer in das Texttool meiner Wahl “Notepad++“, aber ihr könnt daraus natürlich eine CSV erstellen und diese dann im Excel für alles mögliche nutzen.

Kommentar hinterlassen