Er du ute etter en rask måte å lage et Active Directory (AD) rapport ved hjelp av PowerShell? Du har kommet til rett sted! I denne artikkelen, vil du lære hvordan å lage egendefinerte rapporter av brukerkontoer i ANNONSEN miljø ved bruk av Get-ADObject
cmdleten.
Tenk deg at du arbeider i et nyetablert firma og finn ut at selskapet ble gitt finansiering av investorer til å vokse selskapet ved å ansette nye folk i flere posisjoner., Din nærmeste leder gir deg en forespørsel om å gi henne en rapport på hodet teller for hvert office-å sørge for at arbeidsplassen har tilstrekkelig kontorplass.
Vanligvis, ville du manuelt vise ANNONSEN kontoer ved å bruke Active Directory-Brukere og-Datamaskiner (ADUC) konsoll applikasjon som er installert på din datamaskin. Imidlertid, hjelp av ADUC tar i gjennomsnitt ett minutt per ny medarbeider til å skrive en anmeldelse informasjon for hver enkelt konto.,
Du raskt søk på Internett for noen valg og oppdage at du kan automatisere innsamling av ANNONSEN rapportere data ved hjelp av en PowerShell-cmdlet som heter Get-ADObject
. I denne artikkelen, vil du lære hva som Get-AdObject
PowerShell-cmdlet-en gjør og hvordan du skal bruke denne praktiske AD PowerShell-cmdlet for å automatisere rapporten skapelse.
Innholdsfortegnelse
Forutsetninger/Krav
Denne artikkelen vil være en gjennomgang ved hjelp av Get-ADObject
., Hvis du planlegger å følge med, være sikker på at du har følgende forutsetninger er på plass:
- du er Logget inn på et domene Windows-10 PC-en bruker med rettigheter til å søke AD brukere.
- I en Windows Server 2016 eller høyere Active Directory-miljø. Laboratoriet vil du jobbe med i denne artikkelen er kalt mylab.lokale.
- Remote Server Administration Tools (RSAT) pakken
Quick tips: Hvis du ikke har RSAT installert og du bruker den nyeste versjonen av Windows-10, kan du raskt kan installere det ved hjelp av PowerShell kommando
Install-WindowsFeature -Name RSAT-AD-PowerShell
.,
Få-ADObject: Det er Valg og Parametere
Den viktigste hensikten med Get-ADObject
cmdlet for å koble deg til et AD-domenekontroller eller Lightweight Directory Service (LDS) server og tilbake informasjon om ulike Active Directory-objekter.
til Å spørre AD objekter, Get-ADObject
cmdlet har en rekke parametre slik at du kan koble til forskjellige domenekontrollere, søk en global katalog, autentisering via alternative legitimasjon og også angi LDAP-filter og begrense objekter som returneres av omfang for et søk i basen.,
Merk som standard
Get-ADObject
cmdlet vil bare gå tilbake ett enkelt sett med 1000 AD objekter. Den beste måten å overstyre denne konfigurasjonen er å brukeResultSetSize
parameteren angir maksimalt antall objekter for å returnere. Hvis du ønsker å motta alle gjenstander, setter du denne parameteren til $Null (null-verdi). Deretter kan du bruke Ctrl+C for å avslutte søket og retur av objekter.,
For mer informasjon om Get-ADObject
‘s-parametre, sjekk ut Get-ADObject
hjelp dokumentasjon.
Learning Prosjektet Skissere
Denne artikkelen vil lære deg Get-ADObject
PowerShell-cmdlet ved å anvende det til en reell situasjon. Du vil lære ved nærmer scenariet som er beskrevet i det innledende avsnitt.
Scenariet
I denne artikkelen, er du nødt til å lære å bruke Get-ADObject
for å generere to rapporter for å sende til din leder., Den første rapporten vil bryte ned alle brukerkontoer i hver avdeling. Sjefen ønsker egen CSV-filer for hver avdeling. Den andre oppgaven vil spørringen alle funksjonshemmede brukerkontoer i en bestemt OU og det er barn OUs.,
Ved slutten av artikkelen, vil du være i stand til å generere CSV-filer som ser ut som følgende:
ANNONSEN Miljøet
Active Directory organisasjonsenhet (OU) strukturen du vil arbeide med i denne artikkelen ser ut som nedenfor., Du kan se at vi har en overordnet Avdeling OU med tre barn OUs kalt Regnskap, Markedsføring og IT. Innsiden av hver av dem barn, OUs er to barnebarn OUs kalt Brukere og-Datamaskiner.
- Avdeling (OU)
– Regnskap (OU)
– Brukere.
– Datamaskiner
– Markedsføring (Nestede OU)
– Brukere.
– Datamaskiner
– DET (Nestede OU)
– Brukere.
– Datamaskiner
Snarvei: Du kan bygge disse OUs med
New-ADOrganizationalUnit
PowerShell-cmdlet. For et skript for å få rask arbeidet med dette sjekk ut Create-OU-Struktur.ps1-skript.,
Du vil også arbeide med dusinvis av forskjellige AD brukerkontoer ligger på innsiden av hver av Brukerne OUs som vist nedenfor. Disse navnene ble valgt tilfeldig.
- Regnskap (accountant_user1-5)
- Markedsføring (market_user_user1-5)
- DET (it_user1-5)
Snarvei: Hvis du ønsker å raskt opprette disse brukerkontoene på innsiden av de nevnte OUs, last ned og kjør Fylle-AD_Accounts.ps1-skript.,
Opprette Active Directory Rapporter ved hjelp av Get-ADObject
Nok innledning og bakgrunnsinformasjon på Get-ADObject.
La oss endelig få ned for å lære hvordan dette PowerShell-cmdlet-en fungerer i den virkelige verden!
I denne første eksempel, du har fått i oppgave å gi din leder en CSV-fil med en rapport for alle brukerkontoer som finnes i Regnskap, Markedsføring og IT-avdeling OUs.,
Forstå Filter Parameteren
Det eneste som kreves av parameteren Get-ADObject
PowerShell-cmdlet-en Filter
. Dette er en parameter som er en måte å begrense antallet objekter som returneres. Siden det er en nødvendig parameter, må du definere det selv hvis du ønsker å returnere alle objekter ved hjelp av jokertegn (*
). Dette forteller Get-ADObject
for å returnere alle objekter.
Den enkleste eksemplet på bruk av Filter
parameteren er for å returnere alle objekter i en hel AD-domene som nedenfor.,
PS51> Get-ADObject -Filter *
vil Du se Filter
– parameteren brukes både til å returnere alle objekter og til å begrense omfanget av returnerte objekter gjennom denne artikkelen.
For mer informasjon om
Filter
parameteren er syntaks, kan du kjøreGet-Help about_ActiveDirectory_Filter
i PowerShell-konsollen.
å Begrense søkeområdet ved hjelp av SearchBase Parameteren
eksempel du arbeider med er et perfekt eksempel på bruk for Get-ADObject
s SearchBase
– parameteren., SearchBase
– parameteren gir deg mulighet til å begrense søket, og dermed objekter som returneres via Get-ADObject
ved å begrense omfanget til et bestemt OU.
Ved å begrense omfanget, dette reduserer tiden det tar for Get-ADObject
å kjøre ved å ekskludere andre OUs i AD og bare rettet mot spesifikke OU som er relevant for å hente ut data som du trenger.
I dette eksempelet, kan du trekke ut alle ANNONSEN brukere i den overordnede Avdeling OU og alle barn OUs som nedenfor. Denne vil returnere alle brukerne i Avdelingen OU og i alle barn OUs.,
PS51> Get-ADObject -Filter * -SearchBase 'OU=Department,DC=mylab,DC=local'
Utnytte Filter Parameteren
Som nå, du er i stand til å spørre alle bruker-objekter i Avdelingen OU og alle barn OUs. Men det er ikke nødvendig på dette punktet. I stedet, la oss bare dra ut alt av Regnskap brukere først. En måte å gjøre det på er å faktisk bruke Filter
parameter snarere enn bare å gi et jokertegn verdi.
for Å begrense resultatene, kan du bruke Filter
verdi Department -eq 'Accounting'
., Dette begrenser resultatene til bare de som objekter i Avdelingen OU som har en ANNONSE avdeling-attributtet satt til Regnskap.
Du kan se nedenfor at du oppbevarer alle objekter i $accounting_users
variabel. Dette vil bli brukt senere.
PS51> $accounting_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter {Department -eq "Accounting"}
gi ut AD Objekter til en CSV-Fil
Nå som $accounting_users
inneholder alle aktuelle objekter, du kan bare rør Name
og Department
egenskaper for hvert objekt til Export-Csv
cmdleten., Denne cmdleten skaper en ny CSV-fil og lagrer hver ANNONSE objektet som en rad.
Du bør nå ha en CSV-fil som heter report_accounting_users.csv på skrivebordet ditt ser ut som skjermbildet nedenfor.
Samle den Andre Brukeren Objekter
Nå som du vet grunnleggende om hvordan å bruke Get-ADObject
for å finne AD-brukere, kan du utvide dette til å finne brukeren objekter for andre avdelinger. Du vil bruke den samme generelle konsept som før.,
Først, finne alle av ANNONSEN brukere i San Francisco-kontoret.
Neste, finne alle brukere som arbeider i Florida office. Dette eksempelet er litt annerledes fordi du bruker Select-Object
cmdlet-er beregnet egenskaper. Dette gjør at du kan forvandle objekt navn på eiendom fra bare st
som kommer fra Get-ADObject
til en mer beskrivende State
.,
til Slutt, samle alle IT-brukere. Denne gangen, i stedet for å bruke Institutt AD-attributt, bruker du Filter
parameter for å finne alle objekter med et navn som begynner med den.
Merk: i Stedet for å bruke
objectClass -eq 'user'
i forrige eksempel, du kunne også ha bruktGet-AdUser
cmdleten.,
Finn Deaktivert Kontoer med LDAP-Filter
I forrige eksempel, du har brukt Filter
parameter for å begrense objekter som returneres av Get-ADObject
. En annen måte å gjøre det på er å bruke LDAPFilter
– parameteren. Denne parameteren utfører samme oppgave, men kan du angi et filter via en LDAP-spørring søkestrengen., LDAPFilter
parameteren er ansett som en mer avansert alternativ for å søke Active Directory.
La oss nå lage en rapport for å finne alle funksjonshemmede brukere i organisasjonen ved hjelp av LDAPFilter
og SearchBase
parametere for å målrette mot en bestemt OU.
useraccountcontrol:1.2.840.113556.1.4.803:=2-innstillingen er en ANNONSE attributtet som er angitt for alle funksjonshemmede brukere i Active Directory NTDS database. Det er en måte for ANNONSEN til å flagge kontoer som ikke er aktive (brukerpålogging er deaktivert)., Her er flere eksempel LDAP-spørringer som du kan finne nyttig.
– kommandoen nedenfor går LDAP-filter parameteren brukes til å vise bare funksjonshemmede brukere og oppretter deretter en rapport ved hjelp av Export-CSV
cmdlet som du har gjort tidligere.
sluttresultatet
Du bør nå ha fem CSV-filer på skrivebordet er klar for manager!,
Oppsummering
I denne artikkelen, har du lært hvordan du søker Active Directory ved hjelp av Get-ADObject
PowerShell-cmdlet.
Hva blir det neste?
til Å ta hva du har lært lenger, tar denne prosessen genererer ANNONSE rapporter til neste nivå ved å eksportere data til en database kanskje. En gang i en database, og du kan ha AD rapportere data som gjøres tilgjengelig ved hjelp av enten en custom-bygget nettside eller et program som for eksempel Microsoft SharePoint. Dette er bare en idé. Det finnes utallige andre!,
evnen til å søke Active Directory er en grunnleggende kompetanse som trengs i mange organisasjoner, og som til slutt vil spare deg og ditt team timer av gangen.
Mer å Lese
- Active Directory-Skript i Massevis: Kom og Få Det!
- Microsoft-Dokumentasjonen