Aktive Verzeichnisgruppen mit PowerShell verwalten: Der ultimative Leitfaden

Als Windows-Systemadministrator verwalten Sie wahrscheinlich täglich Active Directory (AD)-Gruppen. Während Sie das Active Directory-Benutzer und -Computer (ADUC) MMC-Snap-In verwenden könnten, was passiert, wenn Sie Gruppen über mehrere Domänen verwalten müssen oder Aufgaben zur Gruppenverwaltung automatisieren müssen? Hier kommt PowerShell ins Spiel.

In diesem praxisnahen Tutorial lernen Sie, wie Sie PowerShell verwenden können, um AD-Gruppen wie ein Profi zu verwalten. Sie werden lernen, wie Sie Gruppen abfragen, neue erstellen und vorhandene Gruppen mit praktischen Beispielen aus der realen Welt ändern können.

Voraussetzungen

Wenn Sie diesem Tutorial folgen möchten, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

  • Einen Windows-Computer (Windows 10/11 oder Windows Server), der einer Active Directory-Domäne beigetreten ist
  • Ein Benutzerkonto mit Berechtigungen zur Verwaltung von AD-Gruppen

AD-Gruppen abfragen mit PowerShell

Fangen wir mit einem häufigen Szenario an – Sie sind der neue IT-Administrator in einem Unternehmen und müssen die AD-Gruppenstruktur überprüfen. Ihr Manager möchte wissen, welche Gruppen in verschiedenen Abteilungen existieren. Das Get-ADGroup-Cmdlet wird hier Ihr bester Freund sein.

Gruppen nach Namen finden

Vielleicht ist die einfachste Aufgabe, Gruppen zu finden, die bestimmten Text in ihrem Namen enthalten. Zum Beispiel, um alle Gruppen mit „Vertrieb“ im Namen zu finden:

Get-ADGroup -Filter 'Name -like "Sales"'

Die Asterisken (*) sind Platzhalter, die beliebige Zeichen vor oder nach „Sales“ entsprechen. Dieser Befehl gibt alle Gruppen zurück, die „Sales“ in ihrem Namen haben.

Filtern nach Gruppentyp

Vielleicht möchten Sie nur Sicherheitsgruppen sehen (keine Verteilergruppen). Sie können zusätzliche Filterkriterien mit dem -und-Operator hinzufügen:

Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'

Jetzt sehen Sie nur Sicherheitsgruppen, die „Sales“ in ihrem Namen haben.

Suche in bestimmten OUs

Müssen Sie Gruppen in einer bestimmten Organisationseinheit (OU) finden? Verwenden Sie den SearchBase-Parameter:

Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'

Dieser Befehl findet alle Gruppen innerhalb der Engineering-OU und ihrer untergeordneten OUs.

Neu erstellte Gruppen finden

Möchten Sie sehen, welche Gruppen nach einem bestimmten Datum erstellt wurden? Filtern Sie nach dem whenCreated-Attribut:

Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'

Dies gibt alle Gruppen zurück, die am oder nach dem 1. Januar 2023 erstellt wurden.

Neue AD-Gruppen erstellen

Schauen wir uns jetzt an, wie man neue Gruppen erstellt. Vielleicht restrukturiert Ihr Unternehmen und Sie müssen Gruppen für neue Abteilungen erstellen.

Erstellen einer Sicherheitsgruppe

So erstellen Sie eine neue Sicherheitsgruppe für das IT-Supportpersonal:

New-ADGroup -Name "IT_Support" `
            -GroupScope Global `
            -GroupCategory Security `
            -Description "Group for IT support staff" `
            -Path "OU=IT,DC=company,DC=local"

Dies erstellt eine globale Sicherheitsgruppe mit dem Namen „IT_Support“ in der IT-Organisationseinheit.

Erstellen einer Verteilergruppe

Brauchen Sie eine E-Mail-Verteilergruppe? Ändern Sie einfach ein paar Parameter:

New-ADGroup -Name "Marketing_News" `
            -GroupScope DomainLocal `
            -GroupCategory Distribution `
            -Description "Group for receiving marketing updates" `
            -Path "OU=Marketing,DC=company,DC=local"

Erstellen mehrerer Gruppen gleichzeitig

Haben Sie mehrere ähnliche Gruppen zu erstellen? Verwenden Sie eine Schleife:

$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
    New-ADGroup -Name "Sales_$region" `
                -GroupScope Global `
                -GroupCategory Security `
                -Description "Sales team for $region region" `
                -Path "OU=Sales,DC=company,DC=local"
}

Das Ändern von bestehenden Gruppen

Dinge ändern sich in Organisationen. Gruppen müssen umbenannt, Beschreibungen aktualisiert und Bereiche geändert werden. Schauen wir uns an, wie man diese Aufgaben bewältigen kann.

Gruppen umbenennen

Um eine Gruppe umzubenennen, müssen Sie sowohl den Namen als auch den samAccountName ändern:

# Benennen Sie zuerst das Gruppenobjekt um
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam

# Aktualisieren Sie dann den samAccountName
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam

Aktualisieren von Gruppenbeschreibungen

Müssen Sie die Beschreibung einer Gruppe aktualisieren? Mit einer Zeile mit Set-ADGroup:

Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'

Gruppenbereich ändern

Wenn Sie den Bereich einer Gruppe ändern müssen (zum Beispiel von Global auf Universal):

Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal

Profi-Tipps

Hier sind einige Tipps, um das AD-Gruppenmanagement noch effizienter zu gestalten:

    1. Verwenden Sie immer `-Filter` anstelle von `-Identity`, wenn Sie mehrere Gruppen abfragen – es ist effizienter

    1. Denken Sie daran, dass der Gruppenbereich nicht geändert werden kann, wenn die Gruppe Mitglieder hat – entfernen Sie zuerst die Mitglieder

    1. Verwenden Sie den `-WhatIf`-Parameter, um Änderungen vorab anzuzeigen

    1. Testen Sie Ihre Gruppenänderungen immer zuerst in einer Nicht-Produktionsumgebung

Zusammenfassung

Sie sollten nun eine solide Grundlage für die Verwaltung von AD-Gruppen mit PowerShell haben. Während das Snap-In Active Directory Benutzer und Computer großartig für einmalige Aufgaben ist, gibt Ihnen PowerShell die Möglichkeit, Gruppen automatisiert und in großem Maßstab zu verwalten.

Denken Sie daran – die hier gezeigten Beispiele sind nur der Anfang. Die AD-Cmdlets von PowerShell sind unglaublich leistungsstark und flexibel. Wenn Sie sich mit diesen Grundlagen vertraut machen, können Sie komplexere Lösungen entwickeln, die den Bedürfnissen Ihrer Organisation entsprechen.

Müssen Sie mehr über Active Directory PowerShell lernen? Schauen Sie sich unsere anderen Tutorials an:

Source: https://adamtheautomator.com/powershell-ad-groups-guide/