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 å bruke ResultSetSize 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:

AD brukerkontoer ved OU
Deaktivert brukerkontoer

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øre Get-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-ADObjects 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.

report_accounting_users.csv

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.

report_sanfrancisco_office_users.csv

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.,

report_florida_state_users.csv

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 brukt Get-AdUser cmdleten.,

report_select_users.csv

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.

report_disabled_users.csv

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