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
- Das PowerShell Active Directory-Modul installiert
- 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:
-
- Verwenden Sie immer `-Filter` anstelle von `-Identity`, wenn Sie mehrere Gruppen abfragen – es ist effizienter
-
- Denken Sie daran, dass der Gruppenbereich nicht geändert werden kann, wenn die Gruppe Mitglieder hat – entfernen Sie zuerst die Mitglieder
-
- Verwenden Sie den `-WhatIf`-Parameter, um Änderungen vorab anzuzeigen
- 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: