bent u op zoek naar een snelle manier om een Active Directory (AD) rapport aan te maken met PowerShell? U bent hier aan het juiste adres! In dit artikel leert u hoe u aangepaste rapporten van gebruikersaccounts kunt maken in uw ADVERTENTIEOMGEVING met behulp van de Get-ADObject cmdlet.

stel je voor dat je bij een startend bedrijf werkt en ontdek dat het bedrijf financiering kreeg van Investeerders om het bedrijf te laten groeien door nieuwe mensen aan te nemen voor verschillende functies., Uw manager geeft u een verzoek om haar te voorzien van een rapport over de head count voor elk kantoor om ervoor te zorgen dat de werkplek voldoende kantoorruimte heeft.

normaal gesproken kunt u AD-accounts handmatig weergeven met behulp van de aduc-toepassingsconsole (Active Directory Users and Computers) die op uw desktopcomputer is geïnstalleerd. Echter, het gebruik van ADUC duurt gemiddeld een minuut per nieuwe werknemer om informatie te bekijken voor elke advertentie account.,

u zoekt snel op het Internet naar enkele opties en ontdekt dat u het verzamelen van de AD-rapportgegevens kunt automatiseren met behulp van een PowerShell-cmdlet genaamd Get-ADObject. In dit artikel leer je wat de Get-AdObject PowerShell cmdlet doet en hoe je deze handige AD PowerShell cmdlet correct kunt gebruiken om het maken van rapporten te automatiseren.

inhoudsopgave

Prerequisites/Requirements

Dit artikel wordt een doorloop met Get-ADObject., Als u van plan bent mee te gaan, moet u de volgende voorwaarden hebben:

  • ingelogd op een Windows 10-PC met een domein als gebruiker met rechten om AD-gebruikers
  • te bevragen in een Active Directory-omgeving van Windows Server 2016 of hoger. Het lab waarmee je in dit artikel gaat werken heet mylab.lokaal.
  • Remote Server Administration Tools (RSAT) package

snelle tip: als RSAT niet is geïnstalleerd en u de nieuwste versie van Windows 10 hebt, kunt u het snel installeren met behulp van het PowerShell-commando Install-WindowsFeature -Name RSAT-AD-PowerShell.,

Get-ADObject: het zijn opties en Parameters

het belangrijkste doel van de Get-ADObject cmdlet is om verbinding te maken met een AD domeincontroller of LDS-server (Lightweight Directory Service) en informatie over verschillende Active Directory-objecten te retourneren.

om AD-objecten te bevragen, heeft de cmdletGet-ADObject een aantal parameters waarmee u verbinding kunt maken met verschillende domeincontrollers, een globale catalogus kunt doorzoeken, kunt verifiëren via alternatieve referenties en ook LDAP-filters kunt opgeven en objecten kunt beperken die door scope worden geretourneerd voor een zoekbasis.,

merk op dat standaard de Get-ADObject cmdlet slechts een enkele set van 1000 AD objecten retourneert. De beste manier om deze configuratie te negeren is door de parameter ResultSetSize te gebruiken die het maximum aantal objecten specificeert dat geretourneerd moet worden. Als je alle objecten wilt ontvangen, stel je deze parameter in op $Null (null waarde). Vervolgens kunt u Ctrl+C gebruiken om de query en terugkeer van objecten te stoppen.,

voor meer informatie over Get-ADObject’s parameters, bekijk de Get-ADObject help documentatie.

Learning Project Outline

Dit artikel leert u de Get-ADObject PowerShell cmdlet door het toe te passen op een real-world scenario. U zult leren door het benaderen van het scenario uitgelegd in de inleidende paragrafen.

het Scenario

In dit artikel gaat u leren hoe u Get-ADObject gebruikt om twee rapporten te genereren om naar uw manager te sturen., Het eerste rapport zal alle gebruikersaccounts in elke afdeling opsplitsen. De baas wil aparte CSV-bestanden voor elke afdeling. De tweede taak zal alle uitgeschakelde gebruikersaccounts in een specifieke organisatie-eenheid en het kind-organisatie-eenheden opvragen.,

aan het eind van het artikel, zult u in staat zijn om het genereren van CSV-bestanden die lijken op het volgende:

AD-gebruikersaccounts door OU
Uitgeschakelde gebruikersaccounts

De AD-Omgeving

Het Active Directory-organisatie-eenheid (OU) structuur zult u werken met de in dit artikel ziet er uit als hieronder., U kunt zien dat we een ouder afdeling OU met drie kinderen ou ‘ s genaamd Accounting, Marketing en IT. In elk van deze Kind-ou ’s zijn twee kleinkind-ou’ s genaamd Gebruikers en Computers.

  • afdeling (OU)
    – Accounting (OU)
    – gebruikers
    – Computers
    – Marketing (geneste OU)
    – gebruikers
    – Computers
    – IT (geneste OU)
    – gebruikers
    – Computers

snelkoppeling: u kunt deze ou ‘ s bouwen met deNew-ADOrganizationalUnit PowerShell cmdlet. Voor een script om hier snel werk van te maken, kijk dan op het Create-OU-Structure.ps1 script.,

u zult ook werken met tientallen verschillende ad-gebruikersaccounts in elk van de gebruikers-eenheden, zoals hieronder weergegeven. Deze namen werden willekeurig gekozen.

  • Accounting (accountant_user1-5)
  • Marketing (market_user_user1-5)
  • IT (it_user1-5)

snelkoppeling: als u snel deze gebruikersaccounts wilt aanmaken binnen de hiervoor genoemde organisatie-eenheden, download en voer het script Populate-AD_Accounts.ps1 uit.,

Active Directory-rapporten maken met behulp van Get-ADObject

genoeg inleiding en achtergrondinformatie over Get-ADObject. laten we eindelijk leren hoe deze PowerShell-cmdlet in de echte wereld werkt!

in dit eerste voorbeeld moet u uw manager een CSV-bestand voorzien van een rapport voor alle gebruikersaccounts die bestaan in de OU ‘ s van de Accounting -, Marketing-en IT-afdeling.,

inzicht in de Filterparameter

de enige vereiste parameter van deGet-ADObject PowerShell cmdlet isFilter. Dit is een parameter is een manier om het aantal geretourneerde objecten te beperken. Omdat het een vereiste parameter is, moet je het definiëren, zelfs als je alle objecten wilt retourneren met een jokerteken (*). Dit vertelt Get-ADObject om alle objecten terug te geven.

het eenvoudigste voorbeeld van het gebruik van de parameter Filter is het retourneren van alle objecten in een volledig AD-domein zoals hieronder.,

PS51> Get-ADObject -Filter *

u zult de parameter Filter zien die gebruikt wordt om zowel alle objecten te retourneren als Om de reikwijdte van geretourneerde objecten in dit artikel te beperken.

voor meer informatie over de syntaxis van de parameter Filter voer Get-Help about_ActiveDirectory_Filter uit in de PowerShell-console.

beperkend zoekbereik met behulp van de Zoekbase Parameter

het voorbeeld waarmee u werkt is een perfect use case voor Get-ADObject’s SearchBase parameter., Met de parameter SearchBase kunt u de zoekopdracht beperken en dus objecten die worden geretourneerd via Get-ADObject door de scope te beperken tot een bepaalde organisatie-eenheid.

door de scope te beperken, verkort dit de tijd die nodig is om Get-ADObject uit te voeren door andere ou ‘ s in AD uit te sluiten en alleen gericht te zijn op de specifieke OU die relevant is voor het ophalen van de gegevens die u nodig hebt.

in dit voorbeeld, trek alle AD-gebruikers in de ouderafdeling OU en alle dochter-ou ‘ s eruit zoals hieronder. Dit retourneert alle gebruikers in de afdeling OU en in alle Kind-ou ‘ s.,

PS51> Get-ADObject -Filter * -SearchBase 'OU=Department,DC=mylab,DC=local'

gebruikmakend van de Filterparameter

vanaf nu kunt u alle gebruikersobjecten in de afdeling OU en alle dochter-ou ‘ s opvragen. Maar dat is nu niet nodig. In plaats daarvan, laten we gewoon trekken uit alle Accounting gebruikers eerste. Een manier om dat te doen is om de parameter Filter te gebruiken in plaats van alleen een jokerwaarde te geven.

om de resultaten te beperken, gebruikt u de waarde Filter van Department -eq 'Accounting'., Dit beperkt de resultaten tot alleen die objecten in de afdeling OU die een ad afdeling attribuut ingesteld op Accounting.

hieronder kunt u zien dat u alle objecten in de variabele $accounting_users opslaat. Dit wordt later gebruikt.

PS51> $accounting_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter {Department -eq "Accounting"}

AD-objecten uitvoeren naar een CSV-bestand

nu $accounting_users alle toepasselijke objecten bevat, kunt u alleen de Name en Department eigenschappen voor elk object naar de Export-Csv cmdlet., Deze cmdlet maakt een nieuw CSV-bestand en slaat elk AD-object als een rij op.

u moet nu een CSV-bestand hebben met de naam report_accounting_users.csv op uw bureaublad op zoek naar de screenshot hieronder.

report_accounting_users.csv

verzamelen van andere gebruikersobjecten

Nu u de basis van het gebruik van Get-ADObject kent, kunt u AD-gebruikers vinden door dit uit te breiden om de gebruikersobjecten voor de andere afdelingen te vinden. U zult hetzelfde algemene concept gebruiken als voorheen.,

zoek eerst alle AD-gebruikers in het kantoor van San Francisco.

report_sanfrancisco_office_users.csv

Zoek vervolgens alle gebruikers die in het kantoor in Florida werken. Dit voorbeeld is een beetje anders omdat je de berekende eigenschappen van Select-Object cmdlet gebruikt. Hiermee kunt u de objecteigenaam omzetten van gewoon st die afkomstig is van Get-ADObject naar een meer beschrijvende State.,

report_florida_state_users.csv

verzamel tenslotte alle IT-gebruikers. In plaats van het attribuut Department AD te gebruiken, gebruikt u deze keer de parameter Filter om alle objecten te vinden met een naam die daarmee begint.

opmerking: in plaats vanobjectClass -eq 'user' in het vorige voorbeeld, had u ook deGet-AdUser cmdlet kunnen gebruiken.,

report_select_users.csv

het vinden van Uitgeschakelde Accounts met het LDAP-Filter

In het vorige voorbeeld gebruikte u de parameter Filter om de objecten te beperken die worden geretourneerd door Get-ADObject. Een andere manier om dat te doen is door de parameter LDAPFilter te gebruiken. Deze parameter voert dezelfde taak uit, maar stelt u in staat om een filter op te geven via een LDAP query-zoekstring., De parameter LDAPFilter wordt beschouwd als een meer geavanceerde optie om in Active Directory te zoeken.

laten we nu een rapport maken om alle Uitgeschakelde gebruikers in uw organisatie te vinden met behulp van de LDAPFilter en SearchBase parameters om een specifieke organisatie-eenheid te targeten.

De UserAccountControl:1.2.840.113556.1.4.803:=2 instelling is een ad attribuut gespecificeerd voor alle gehandicapte gebruikers in de Active Directory NTDS database. Het is een manier voor AD om accounts te markeren die niet actief zijn (Aanmelden is uitgeschakeld)., Hier zijn meer voorbeelden van LDAP-query ‘ s die u misschien nuttig vindt.

het onderstaande commando voert de LDAP-filterparameter uit die gebruikt wordt om alleen gehandicapte gebruikers weer te geven en maakt vervolgens een rapport aan met behulp van de Export-CSV cmdlet zoals u eerder hebt gedaan.

report_disabled_users.csv

het eindresultaat

u moet nu vijf CSV-bestanden op uw bureaublad klaar hebben voor uw manager!,

samenvatting

In dit artikel hebt u geleerd hoe u in Active Directory kunt zoeken met deGet-ADObject PowerShell-cmdlet.

wat nu?

om verder te gaan met wat u hebt geleerd, kunt u dit proces van het genereren van AD-rapporten naar een hoger niveau tillen door de gegevens naar een database te exporteren. Eenmaal in een database, je zou kunnen hebben de advertentie rapport gegevens toegankelijk met behulp van een op maat gemaakte website of een applicatie zoals Microsoft SharePoint. Dit is maar één idee. Er zijn talloze anderen!,

De mogelijkheid om Active Directory te doorzoeken is een fundamentele skillset die in veel organisaties nodig is en die u en uw team uiteindelijk uren tijd bespaart.

verder lezen

  • Active Directory Scripts in overvloed: kom het halen!
  • Microsoft Documentation