Als je Active Directory (AD) gebruikers in je domein moet vinden, is hier de Powershell Get-Aduser opdracht. Gebruikersaccounts worden toegewezen aan werknemers, serviceaccounts en andere bronnen. Voor je het weet, worden AD-gebruikersaccounts moeilijk te beheren.
Met behulp van de Get-AdUser
PowerShell cmdlet, kun je AD-gebruikers op veel verschillende manieren krijgen. In dit artikel ga je een paar van die manieren leren en hoe je deze handige cmdlet kunt gebruiken.
Beheer en Rapporteer Active Directory, Exchange en Microsoft 365 met ManageEngine ADManager Plus. Download Gratis Proefversie!
Vereisten
Om de voorbeelden van de Get-AdUser
cmdlet die in dit artikel worden behandeld te gebruiken, zorg ervoor dat je het volgende hebt:
- Op een Windows PC die is aangesloten op een AD-domein
- Ingelogd als een AD-gebruikersaccount
- Heb de PowerShell Active Directory module geïnstalleerd
Het vinden van een Gebruikersaccount met Identity
De cmdlet Get-AdUser
heeft slechts één doel. Het bestaat om zoveel mogelijk opties te bieden om domeingebruikers te vinden. Als je de gebruikersnaam al weet om op te zoeken, kun je de parameter Identity
gebruiken.
De parameter Identity
stelt je in staat om een van de vier verschillende identificatoren op te geven.
- distinguishedName (DN)
- samAccountName
- GUID
- SID
Hieronder zie je enkele voorbeelden van het vinden van een gebruikersaccount met behulp van verschillende identificatoren. Let op dat het een reeks AD-attributen retourneert voor elk gebruikersaccount.
Het meest voorkomende attribuut om te gebruiken voor de parameter
Identity
is het attribuutsamAccountName
.
De filter van Get-ADUser
Als je meer dan één domeingebruiker moet vinden of geen identificator kent, gebruik dan een filter. Hiervoor heb je een paar parameters bij de hand genaamd Filter
en LDAPFilter
.
Elke filterparameter maakt het mogelijk voor een gebruiker om een voorwaardelijke verklaring te geven. Wanneer aan deze voorwaarde is voldaan, zal Get-AdUser
gebruikersaccounts retourneren die overeenkomen met die voorwaarde.
De meest voorkomende parameter om gebruikers te filteren is Filter
. De Filter
parameter stelt je in staat om voorwaarden te creëren die lijken op de PowerShell Where-Object
commando-filter syntax.
De parameter Filter
gebruikt een taal genaamd PowerShell-expression-taal. Deze taal lijkt een beetje op wat je zou gebruiken met Where-Object
, maar toch ook weer niet helemaal. Voor een uitleg over hoe je deze filter kunt gebruiken, bekijk dit artikel over Active Directory- en LDAP-filters.
Hieronder staat een voorbeeld van het gebruik van de Filter
-parameter. Dit voorbeeld geeft een AD-attribuut (givenName
in dit voorbeeld) en stelt een voorwaarde in. De filter staat alleen toe dat gebruikers worden geretourneerd als ze een givenName
hebben die gelijk is aan Adam
.
De andere filteroptie is LDAPFilter
, maar daar wordt in dit artikel niet op ingegaan. Voor meer informatie over de LDAPFilter
en de syntax ervan, bekijk dit artikel over Active Directory- en LDAP-filters.
Het gebruik van Get-AdUser per OU
Door een identiteit of filter op te geven, retourneert PowerShell alle gebruikers in het domein die aan de criteria voldoen. Het beperkt niet op basis van OU. Je moet een “filter” instellen voor Get-AdUser
om te filteren op OU met Get-Aduser -SearchBase <OU>
.
Het gebruik van de parameter SearchBase
stelt je in staat om te beginnen met zoeken naar een gebruikersaccount in een specifieke OU. De parameter SearchBase
accepteert de distinguished name (DN) van een OU.
Bijvoorbeeld, je zou alle gebruikers in de MyUsers OU kunnen vinden zoals hieronder wordt weergegeven. Het gebruik van de Filter
van *
betekent dat alle gebruikersaccounts overeenkomen.
Misschien wilt u alleen gebruikersaccounts vinden in een enkele OU en alle onderliggende OUs uitsluiten. In dat geval kunt u de parameters SearchBase
en SearchScope
gebruiken. De parameter SearchScope
bepaalt hoe diep in de OU-hiërarchie u wilt zoeken.
Bijvoorbeeld, als u alle gebruikersaccounts wilt vinden in een OU en alle onderliggende OUs, gebruikt u 1
voor de waarde van SearchScope
. Als u wilt zoeken door alle onderliggende OUs en kleinkinderen, gebruikt u 2
.
Hieronder staat een voorbeeld van het zoeken naar gebruikersaccounts in de OU MyUsers en alle onderliggende OUs daaronder.
Het gebruik van alternatieve referenties
Standaard wordt Get-AdUser
uitgevoerd onder de context van de ingelogde gebruiker. Maar u kunt ook alternatieve referenties opgeven met de parameter Credential
.
Om te authenticeren met alternatieve referenties, maakt u een PSCredential-object met behulp van Get-Credential
zoals hieronder:
Voor meer informatie over referenties, bekijk Hoe de PowerShell Get-Credential-cmdlet te gebruiken en alles over referenties.
De parameter Properties van PowerShell Get-AdUser
Wanneer u Get-AdUser
uitvoert, zult u meteen zien dat slechts enkele attributen worden teruggegeven. U zult ook zien dat zelfs wanneer de uitvoer wordt doorgestuurd naar Select-Object -Property *
, niet alle attributen nog steeds worden teruggegeven.
Om PowerShell te gebruiken om AD-gebruikersattributen te krijgen, gebruikt u de Property
-parameter. Deze parameter accepteert één of meer door komma’s gescheiden attributen om weer te geven met de uitvoer.
Hieronder ziet u een voorbeeld van het gebruik van Get-AdUser
om alle eigenschappen te vinden voor alle gebruikersaccounts met een givenName
van Adam
. De uitvoer is ingekort, maar u zult andere bekende attributen zien zoals e-mailadres, wachtwoordeigenschappen en meer hier.
Beheer en rapporteer Active Directory, Exchange en Microsoft 365 met ManageEngine ADManager Plus. Download de gratis proefversie!
Samenvatting
De Get-ADUser
-cmdlet is een handige opdracht om AD-gebruikersaccounts te vinden, rapporten op te bouwen en meer. Het is een geweldige manier om AD-gebruikers uit een domein te halen. Voor een uiteenzetting van Get-AdUser
en alle parameters, lees de helptekst door Get-Help Get-AdUser
uit te voeren.
Voor vele andere voorbeelden van hoe Get-AdUser
te gebruiken, bekijk de blogpost Active Directory Scripts Galore: Come and Get It!.