So verwenden Sie Get-ADUser, um Active Directory-Benutzerinformationen mit PowerShell abzurufen

Wie man das PowerShell-Cmdlet Get-ADUser versteht, ohne sich den Kopf zu zerbrechen

Informationen aus Active Directory mit PowerShell abzurufen, ist zwar sehr leistungsstark, kann aber insbesondere für Einsteiger eine Herausforderung darstellen. Das Cmdlet „Get-ADUser“ ist oft die erste Wahl, um Benutzerdetails wie aktivierte Benutzer, das letzte Änderungsdatum von Passwörtern und Gruppenmitgliedschaften zu ermitteln. Manchmal ist das Modul jedoch nicht vorinstalliert oder die Befehle lassen sich einfach nicht ausführen, sodass man sich schon vor dem Start ratlos fühlt. Dieser Leitfaden soll Ihnen helfen, diese Hürden zu überwinden und zeigt Ihnen, wie Sie die gewünschten Informationen abrufen, speichern oder mithilfe benutzerdefinierter Regeln filtern. Kurz gesagt: Wie Sie nützliche AD-Informationen erhalten, ohne den Überblick zu verlieren.

Wie man das Problem behebt, wenn Get-ADUser in PowerShell nicht erkannt wird

Stellen Sie sicher, dass das Active Directory-Modul installiert und importiert ist.

Zunächst der Klassiker: Wenn beim Ausführen Get-ADUsereine Fehlermeldung wie „Der Begriff ‚Get-ADUser‘ ist nicht bekannt“ erscheint, ist das Active Directory-Modul in Ihrer PowerShell-Sitzung wahrscheinlich nicht geladen. Es muss auf Nicht-Domänencontroller-Computern über die Remoteserver-Verwaltungstools (RSAT) installiert werden. Unter Windows 11 oder 10 beheben Sie das Problem am schnellsten, indem Sie folgenden Befehl in einem PowerShell-Fenster mit Administratorrechten ausführen: Get-WindowsCapability -Name RSAT. ActiveDirectory* -Online | Add-WindowsCapability -Online Nach der Installation laden Sie es mit: Import-Module ActiveDirectory Falls das Problem weiterhin besteht, müssen Sie die DLLs manchmal manuell importieren – insbesondere, wenn Sie die Installation des gesamten RSAT-Pakets vermeiden möchten. Zum Beispiel so:

Import-Module "C:\Path\to\Microsoft. ActiveDirectory. Management.dll"

Aber ehrlich gesagt ist es, wenn möglich, einfacher, einfach RSAT zu installieren.

Prüfen Sie, ob das Modul installiert ist.

Führen Sie einfach den Befehl aus: Get-Module -ListAvailable ActiveDirectory Wenn es angezeigt wird, ist alles in Ordnung. Andernfalls installieren Sie RSAT wie oben beschrieben. Manchmal kann ein Neustart nach der Installation von RSAT dazu beitragen, dass PowerShell die Module erkennt.

Wie man AD-Benutzer findet und ihre Eigenschaften effektiv auflistet

Alle Benutzer auflisten – Vorsicht!

Ja, das Get-ADUser -filter * klingt verlockend, aber…nicht auf großen Domänen. Dieser Befehl ruft nämlich alle Benutzerkonten ab, was Ihren Domänencontroller überlasten oder zu einem Timeout führen kann. Setzen Sie ihn daher mit Bedacht ein, gegebenenfalls mit einem Filter.

Informationen über einen einzelnen Benutzer abrufen

Möchten Sie Informationen zu einem bestimmten Benutzer? Verwenden Sie: Get-ADUser –Identity "b.smith" Dies Get-ADUser –Identity "CN=Brian Smith, OU=Users, OU=Berlin, DC=woshub, DC=loc" liefert Ihnen grundlegende Informationen. Mit dem Parameter `-Properties *` sehen Sie jedoch fast alle Daten. Verwenden Sie daher besser: Get-ADUser -identity "b.smith" -properties * Dies zeigt alle Attribute an, einschließlich Passwortablaufdatum, letzte Anmeldung usw. Bei manchen Konfigurationen ist dies eine ziemliche Informationsflut – weit mehr als Sie benötigen, aber ideal für detaillierte Analysen.

Benutzer filtern und sortieren

Möchten Sie nur aktive* Benutzer sehen? Filtern Sie mit: Get-ADUser -Filter 'Enabled -eq $true' oder für Benutzer in einer bestimmten Organisationseinheit: Get-ADUser -SearchBase "OU=NY, DC=woshub, DC=com" -Filter * Und für die Filterung benutzerdefinierter Attribute sind LDAP-Filter sehr praktisch: Get-ADUser -LDAPFilter '(&(department=IT)(title=SysOps))' Möchten Sie schnell eine Liste der Benutzer ohne E-Mail-Adresse erhalten? Führen Sie einfach Folgendes aus: Get-ADUser -Filter * -Properties mail | Where-Object { -not $_.mail } Solche Befehle sparen Tipparbeit und sorgen für eine übersichtlichere Ausgabe.

So exportieren Sie Ihre AD-Daten zur einfachen Verwendung in Dateien (CSV/TXT).

Get-ADUser -Filter * -Properties Name, LastLogonTimestamp, pwdLastSet | Export-Csv "C:\temp\ADusers.csv" -NoTypeInformation Wenn Sie einen einfachen Textbericht benötigen: Get-ADUser -Filter * -Properties Name, Enabled | Format-Table Name, Enabled > C:\temp\ADusers.txt Ein Vorteil von CSV-Dateien ist, dass Sie diese in Excel öffnen, Filter anwenden oder weiterführende Analysen durchführen können. Und wenn Sie Adressen für Outlook extrahieren, versuchen Sie Folgendes: Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq $true)} -Properties mail | Select-Object Name, mail | Export-Csv -Path "C:\temp\email_list.csv" -NoTypeInformation

Beispiele – Nützliche Befehle, die man sich merken sollte

Hier einige häufige Suchanfragen aus der Praxis: – Benutzer auflisten, deren Namen mit „Joe“ beginnen: Get-ADUser -Filter "Name -like 'Joe*'" – Gesamtzahl der Konten zählen: Get-ADUser -Filter * | Measure-Object – Deaktivierte Benutzer abrufen: Get-ADUser -Filter {Enabled -eq $False} | Select-Object SamAccountName, Name – Benutzer ohne E-Mail-Adresse finden: Get-ADUser -Filter * -Properties mail | Where-Object { -not $_.mail } – Nach Konten suchen, die am letzten Tag erstellt wurden: $yesterday = (Get-Date).AddDays(-1) Get-ADUser -Filter "WhenCreated -ge '$($yesterday. ToString('yyyy-MM-dd'))'" – Inaktive Benutzer durchsuchen: (keine Anmeldungen seit 180 Tagen $threshold = (Get-Date).AddDays(-180) Get-ADUser -Properties LastLogonTimestamp -Filter * | Where-Object { $_. LastLogonTimestamp -lt $threshold } | Select-Object Name )

Zusammenfassung & Schlusstipps

Der Zugriff auf AD-Informationen mit PowerShell ist kein Hexenwerk – sobald das Modul funktioniert und man weiß, wie man filtert, exportiert oder bestimmte Attribute auflistet, ist es ziemlich praktisch. Manchmal wirkt es etwas umständlich, insbesondere wenn Module nicht sofort installiert sind oder Berechtigungen fehlen, aber Geduld zahlt sich aus. Bei manchen Konfigurationen müssen die Befehle etwas angepasst oder die Ausgabe formatiert werden, aber insgesamt ist es eine sehr leistungsstarke Methode, um mit AD-Daten zu arbeiten, ohne ständig ADUC zu benötigen.

  • Stellen Sie sicher, dass die RSAT-Tools installiert sind.
  • Verwenden Sie -properties * für detaillierte Informationen
  • Intelligente Filterung zur Vermeidung von Verlangsamungen.
  • Exportieren Sie die Ergebnisse als CSV-Datei, um sie einfach zu teilen und zu überprüfen.

Hoffentlich spart das etwas Zeit und Frust. Die Arbeit mit Active Directory über PowerShell ist ein bisschen wie das Erlernen einer neuen Sprache – aber wenn man es einmal verstanden hat, spart es enorm viel Zeit.😉