Active Directory kann über die Befehlszeile mit PowerShell oder älteren dsquery-Befehlen abgefragt werden.
PowerShell Active Directory-Befehle
Alle Benutzer auflisten:
Get-ADUser -Filter *
Bestimmten Benutzer suchen:
Get-ADUser -Identity "username"
Benutzer nach Namen suchen:
Get-ADUser -Filter "Name -like '*John*'"
Alle Computer auflisten:
Get-ADComputer -Filter *
Alle Gruppen auflisten:
Get-ADGroup -Filter *
Domain-Informationen abrufen:
Get-ADDomain
Domänencontroller abrufen:
Get-ADDomainController -Filter *
Aktivieren Sie das PowerShell AD-Modul
Wenn Get-ADUser nicht funktioniert, aktivieren Sie das Modul:
Windows Server:
Import-Module ActiveDirectory
Windows 10/11: Installieren Sie RSAT (Remote Server Administration Tools) über Einstellungen > Apps > Optionale Funktionen.
Dann führen Sie Folgendes aus:
Import-Module ActiveDirectory
Ältere DSQUERY-Befehle
Funktioniert ohne PowerShell-Modul auf domänengebundenen Maschinen.
Alle Benutzer finden:
dsquery user
Benutzer nach Namen suchen:
dsquery user -name "John*"
Alle Computer finden:
dsquery computer
Alle Gruppen finden:
dsquery group
Deaktivierte Konten finden:
dsquery user -disabled
Inaktive Computer finden (90 Tage):
dsquery computer -inactive 12
12 Wochen = ca. 90 Tage.
Erhalten Sie detaillierte Benutzerinformationen
PowerShell – alle Eigenschaften anzeigen:
Get-ADUser -Identity "username" -Properties *
DSGET (alt):
dsquery user -name "username" | dsget user -display -email -mobile
Suchen Sie nach Gruppenmitgliedschaften des Benutzers
PowerShell:
Get-ADPrincipalGroupMembership -Identity "username"
DSGET:
dsget user "CN=Username,OU=Users,DC=domain,DC=com" -memberof
Mitglieder einer Gruppe finden
PowerShell:
Get-ADGroupMember -Identity "GroupName"
DSGET:
dsget group "CN=GroupName,OU=Groups,DC=domain,DC=com" -members
Überprüfen Sie, ob der Benutzer gesperrt ist
PowerShell:
Get-ADUser -Identity "username" -Properties LockedOut | Select-Object Name,LockedOut
Benutzer entsperren:
Unlock-ADAccount -Identity "username"
Benutzerpasswort zurücksetzen
Set-ADAccountPassword -Identity "username" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "NewPassword123!" -Force)
Passwortänderung bei der nächsten Anmeldung erzwingen:
Set-ADUser -Identity "username" -ChangePasswordAtLogon $true
Nach Computer suchen
Nach Namen:
Get-ADComputer -Filter "Name -like '*DESKTOP*'"
Nach Betriebssystem:
Get-ADComputer -Filter "OperatingSystem -like '*Windows 11*'" -Properties OperatingSystem
Ergebnisse in CSV exportieren
PowerShell:
Get-ADUser -Filter * -Properties DisplayName,EmailAddress | Export-Csv users.csv -NoTypeInformation
Erstellt eine CSV-Datei mit Benutzerdaten.
Allgemeine Filter
Benutzer, die in den letzten 30 Tagen erstellt wurden:
$date = (Get-Date).AddDays(-30)
Get-ADUser -Filter "Created -gt '$date'" -Properties Created
Benutzer, die sich nie angemeldet haben:
Get-ADUser -Filter "LastLogonDate -notlike '*'" -Properties LastLogonDate
Computer, die 90 Tage lang nicht angemeldet waren:
$date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter "LastLogonDate -lt '$date'" -Properties LastLogonDate
Fehlerbehebung
„Get-ADUser nicht erkannt“: ActiveDirectory-Modul importieren oder RSAT installieren.
„Server konnte nicht kontaktiert werden“: Nicht im Domänennetzwerk oder Domänencontroller nicht erreichbar.
„Zugriff verweigert“: Benötigt Domänenadministrator oder entsprechende AD-Berechtigungen.
DSQUERY gibt nichts zurück: Syntax prüfen, Domänenbeitritt sicherstellen, Netzwerkverbindung überprüfen.
Fazit
PowerShell (modern):
Get-ADUser -Filter * | Find users
Get-ADComputer -Filter * | Find computers
Get-ADGroup -Filter * | Find groups
DSQUERY (alt):
dsquery user | Find users
dsquery computer | Find computers
dsquery group | Find groups
PowerShell ist leistungsfähiger, erfordert jedoch das ActiveDirectory-Modul. DSQUERY funktioniert auf in die Domäne eingebundenen Computern ohne zusätzliche Einrichtung.
Beide erfordern eine Domänennetzwerkverbindung und entsprechende Berechtigungen.