Microsoft ga flere Active Directory PowerShell-cmdlets med Windows Server 2008 R2 (og nyere) som i stor grad forenkle oppgaver som tidligere krevde å sette sammen lange linjer med kode som involverer ADSI.
På en Windows-klient, installer Remote Sever Administration Tools (RSAT) og sørg for at Active Directory PowerShell-modulen er installert.
På en Windows-server (2008 R2 eller nyere), kjør følgende kommandoer i en PowerShell-konsoll (som en administrator):
Import-Module ServerManager; Add-WindowsFeature RSAT-AD-PowerShell
Her er mitt (dårlige) ADSI-eksempel:
Her er det samme med AD PowerShell-cmdleten:
Importmodul ActiveDirectory
$ UserID = «JoeUser»
Get-ADUser $ UserID –property *
Merk at med PowerShell versjon 3 og nyere trenger du ikke å kjøre den første linjen siden Powershell vil identifiser den nødvendige modulen og last den automatisk.
Når du har lastet inn Active Directory PowerShell-modulen, kan du gjøre kule ting som å bla gjennom AD som et filsystem
Finne nyttige kommandoer (Cmdlets):
Oppdag tilgjengelige PowerShell-moduler: Get-Module -ListAvailable
Discover cmdlets in a PowerShell modul: Get-Command -modul ActiveDirectory
PowerShell AD-modul Cmdlets:
- Windows Server 2008 R2: 76 cmdlets
- Windows Server 2012: 135 cmdlets
- Windows Server 2012 R2: 147 cmdlets
- Windows Server 2016: 147 cmdlets
(Get-Command -module ActiveDirectory).count
Finne Active Directory Flexible Master Single Operation (FSMO) -roller:
Active Directory Module:
.NET Calls:
Active Directory PowerShell Module Cmdlet Eksempler:
Get-RootDSE får informasjon om LDAP-serveren (Domain Controller) og viser den. Det er interessant informasjon i resultatene, for eksempel hvilket operativsystem DC kjører.
Get-ADForest gir informasjon om Active Directory forest datamaskinen du kjører kommandoen i.
Get-ADDomain gir informasjon om det nåværende domenet du er i.
Get-ADDomainController gir datamaskininformasjon spesifikk for domenekontrollere.
Denne cmdleten gjør det enkelt å finne alle DC-er i en bestemt nettsted eller kjører OS-versjon.
Get-ADComputer gir det meste av det du ønsker å vite om et dataobjekt i AD.
Kjør med «-Prop *» for å vise alle standardegenskaper.
Get-ADUser gir mest av det du vil vite om en AD-bruker.
Kjør med «-Prop *» for å vise alle standardegenskapene.
Get-ADGroup gir informasjon om en AD-gruppe. Finn alle sikkerhetsgrupper ved å kjøre:
Get-ADGroup -Filter {GroupCategory -eq ‘Security}
Get- ADGroupMember oppregner og returnerer gruppemedlemmene. Bruk parameteren Rekursiv for å inkludere alle medlemmer i nestede grupper.
Get-ADGroupMember ‘Administrators’ -Recursive
Disse cmdlets er nyttige for å identifisere situasjoner som tidligere krevde kjøp av et produkt eller tilpasset skript.
Følgende eksempler finner inaktive (foreldede) datamaskiner og brukere – kontoer som ikke har endret passordet de siste 10 dagene. Merk at dette er et laboratorieeksempel. For kontroller i den virkelige verden, endre dette til 60 til 90 dager for datamaskiner og 180 – 365 dager for brukere.
Finn inaktive datamaskiner.
Finn inaktive brukere.
Tell opp domenetillit
Få informasjon om AD-nettsted.
Vær oppmerksom på at Windows 2012-modulen inneholder cmdlet for nettsteder (Get-ADReplicationSite *).
GPOer for sikkerhetskopidomene
Merk dette krever at PowerShell-modulen for gruppepolicy er installert, som er atskilt fra Active Directory-modulen.
Finn AD Kerberos-tjenestekontoer
Inventory Domain Controllers – Get-ADDomainController – filter * | `velg vertsnavn, IPv4Address, IsGlobalCatalog, IsReadOnly, OperatingSystem | `format-tabell -auto
Get-ADReplicationPartnerMetadata (Windows Server 2012 og nyere)
Get-ADReplicationPartnerFailure gir informasjon om status for DC-replikeringsfeil.