Entfernen aller Java-Versionen: Ein PowerShell-Skript-Leitfaden

Wenn Sie Active Directory (AD)-Benutzer in Ihrer Domäne finden müssen, ist hier der Powershell Get-Aduser-Befehl. Benutzerkonten sind Mitarbeitern, Dienstkonten und anderen Ressourcen zugewiesen. Bevor Sie es wissen, werden AD-Benutzerkonten schwer zu verwalten.

Verwenden Sie den Get-AdUser PowerShell-Cmdlet, um AD-Benutzer auf verschiedene Arten zu erhalten. In diesem Artikel lernen Sie einige dieser Methoden und die Verwendung dieses praktischen Cmdlets kennen.

Verwalten und Berichten Sie über Active Directory, Exchange und Microsoft 365 mit ManageEngine ADManager Plus. Kostenlose Testversion herunterladen!

Voraussetzungen

Um die in diesem Artikel behandelten Beispiele des Get-AdUser-Cmdlets zu verwenden, stellen Sie sicher, dass Sie Folgendes haben:

Auffinden eines Benutzerkontos mit Identity

Das Get-AdUser-Cmdlet hat nur einen Zweck und nur einen Zweck. Es existiert, um so viele Optionen wie möglich bereitzustellen, um Domänenbenutzer zu finden. Wenn Sie bereits den Benutzernamen kennen, den Sie suchen möchten, können Sie den Identity-Parameter verwenden.

Der Identity-Parameter ermöglicht es Ihnen, einen von vier verschiedenen Bezeichnern anzugeben.

  • distinguishedName (DN)
  • samAccountName
  • GUID
  • SID

Hier finden Sie einige Beispiele für die Suche nach einem Benutzerkonto unter Verwendung verschiedener Bezeichner. Beachten Sie, dass für jedes Benutzerkonto eine Reihe von AD-Attributen zurückgegeben wird.

PS> Get-ADUser -Identity abertram


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'S-1-5-21-4117810001-3432493942-696130396-3142'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local

Das häufigste Attribut, das für den Identity-Parameter verwendet wird, ist das Attribut samAccountName.

Der Get-ADUser-Filter

Wenn Sie mehr als einen Domänenbenutzer finden müssen oder einen Bezeichner nicht kennen, verwenden Sie einen Filter. Dazu haben Sie ein paar Parameter zur Verfügung, die Filter und LDAPFilter genannt werden.

Jeder Filterparameter ermöglicht es einem Benutzer, eine bedingte Anweisung bereitzustellen. Wenn diese Bedingung erfüllt ist, gibt Get-AdUser Benutzerkonten zurück, die dieser Bedingung entsprechen.

Der häufigste Parameter zum Filtern von Benutzern ist Filter. Der Filter-Parameter ermöglicht es Ihnen, Bedingungen zu erstellen, die der Filter-Syntax des PowerShell-Befehls Where-Object ähneln.

Der Filter-Parameter verwendet eine Sprache namens PowerShell-Ausdruckssprache. Diese Sprache ähnelt ein wenig dem, was Sie bei Where-Object verwenden würden, ist aber nicht ganz gleich. Für eine Aufschlüsselung zur Verwendung dieses Filters schauen Sie sich diesen Artikel zu Aktiven Verzeichnis- und LDAP-Filtern an.

Unten finden Sie ein Beispiel zur Verwendung des Filter-Parameters. Dieses Beispiel gibt ein AD-Attribut (givenName in diesem Beispiel) an und legt eine Bedingung fest. Der Filter erlaubt es nur Benutzern, zurückzukehren, wenn sie einen givenName gleich Adam haben.

PS> Get-AdUser -Filter "givenName -eq 'Adam'"


DistinguishedName : CN=ADBertram,OU=Accounting,DC=mylab,DC=local
Enabled           : False
GivenName         : Adam
Name              : ADBertram
ObjectClass       : user
ObjectGUID        : 8ec5e2a8-1fda-42cb-9406-b1e6356dd457
SamAccountName    : ADBertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3163
Surname           : Bertram
UserPrincipalName : ADBertram

DistinguishedName : CN=Hughes\, Adam,CN=Users,DC=mylab,DC=local
Enabled           : True
GivenName         : Adam
Name              : Hughes, Adam
ObjectClass       : user
ObjectGUID        : 96778db3-3dbd-4b83-9183-db111caa2791
SamAccountName    : ahughes
SID               : S-1-5-21-4117810001-3432493942-696130396-38201
Surname           : Hughes
UserPrincipalName :

Die andere Filteroption ist LDAPFilter, die in diesem Artikel nicht behandelt wird. Für weitere Informationen zum LDAPFilter und seiner Syntax lesen Sie diesen Artikel über Aktive Verzeichnis- und LDAP-Filter.

Verwendung von Get-AdUser nach OU

Indem Sie eine Identität oder einen Filter angeben, gibt PowerShell alle Benutzer im Domänenbereich zurück, die den Kriterien entsprechen. Es begrenzt nicht nach OU. Sie müssen einen „Filter“ für Get-AdUser einrichten, um nach OU zu filtern, indem Sie Get-Aduser -SearchBase <OU> verwenden.

Die Verwendung des SearchBase-Parameters ermöglicht es Ihnen, die Suche nach einem Benutzerkonto in einer bestimmten OU zu starten. Der SearchBase-Parameter akzeptiert den Distinguished Name (DN) einer OU.

Zum Beispiel könnten Sie alle Benutzer in der OU MyUsers wie unten gezeigt finden. Die Verwendung des Filter von * bedeutet, alle Benutzerkonten abzugleichen.

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local'

Vielleicht möchten Sie nur Benutzerkonten in einer einzigen OU finden und alle untergeordneten OUs ausschließen. In diesem Fall könnten Sie die SearchBase– und SearchScope-Parameter verwenden. Der SearchScope-Parameter definiert, wie tief in der OU-Hierarchie Sie suchen möchten.

Zum Beispiel, wenn Sie alle Benutzerkonten in einer OU und allen untergeordneten OUs finden möchten, verwenden Sie 1 für den Wert des SearchScope. Wenn Sie durch alle untergeordneten und Enkel-OUs suchen möchten, verwenden Sie 2.

Hier ist ein Beispiel für die Suche nach Benutzerkonten in der MyUsers-OU und allen untergeordneten OUs darunter.

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local' -SearchScope 2

Verwendung alternativer Anmeldeinformationen

Standardmäßig wird Get-AdUser unter dem Kontext des angemeldeten Benutzers ausgeführt. Sie können jedoch auch alternative Anmeldeinformationen mit dem Credential-Parameter angeben.

Um sich mit alternativen Anmeldeinformationen anzumelden, erstellen Sie ein PSCredential-Objekt mit Get-Credential wie folgt:

PS> $cred = Get-Credential
PS> Get-AdUser -Filter * -Credential $cred

Weitere Informationen zu Anmeldeinformationen finden Sie unter Verwenden des PowerShell Get-Credential-Cmdlets und alles rund um Anmeldeinformationen.

Der PowerShell Get-AdUser-Eigenschaftsparameter

Wenn Sie Get-AdUser ausführen, sehen Sie sofort, dass nur wenige Attribute zurückgegeben werden. Sie werden auch feststellen, dass selbst wenn die Ausgabe an Select-Object -Property * übergeben wird, nicht alle Attribute zurückgegeben werden.

Um PowerShell zu verwenden, um AD-Benutzerattribute abzurufen, verwenden Sie den Property-Parameter. Dieser Parameter akzeptiert ein oder mehrere durch Kommas getrennte Attribute, die mit der Ausgabe angezeigt werden sollen.

Unten sehen Sie ein Beispiel für die Verwendung von Get-AdUser, um alle Eigenschaften für alle Benutzerkonten mit einem givenName von Adam zu finden. Die Ausgabe ist gekürzt, aber Sie werden andere vertraute Attribute wie E-Mail-Adresse, Passworteigenschaften und mehr sehen.

PS> Get-AdUser -Filter "givenName -eq 'Adam'" -Properties *


AccountExpirationDate                :
accountExpires                       : 9223372036854775807
AccountLockoutTime                   :
AccountNotDelegated                  : False
AllowReversiblePasswordEncryption    : False
AuthenticationPolicy                 : {}
AuthenticationPolicySilo             : {}
BadLogonCount                        : 0
badPasswordTime                      : 0
badPwdCount                          : 0
CannotChangePassword                 : False
CanonicalName                        : mylab.local/Accounting/ADBertram
........

Verwalten und Berichten Sie über Active Directory, Exchange und Microsoft 365 mit ManageEngine ADManager Plus. Kostenlose Testversion herunterladen!

Zusammenfassung

Das Get-ADUser-Cmdlet ist ein praktisches Befehl, um AD-Benutzerkonten zu finden, Berichte zu erstellen und mehr. Es ist eine großartige Möglichkeit, AD-Benutzer aus einer Domäne abzurufen. Für eine Aufschlüsselung von Get-AdUser und allen Parametern lesen Sie den Hilfetext, indem Sie Get-Help Get-AdUser ausführen.

Für viele andere Beispiele, wie Get-AdUser verwendet werden kann, lesen Sie den Blogbeitrag Active Directory Scripts Galore: Kommen Sie und holen Sie sich es!.

Source:
https://adamtheautomator.com/get-aduser/