Microsoft heeft verschillende Active Directory PowerShell-cmdlets geleverd met Windows Server 2008 R2 (en nieuwer). vereenvoudig taken waarvoor voorheen lange regels code moesten worden samengesteld met ADSI.
Installeer op een Windows-client de Remote Server Administration Tools (RSAT) en zorg ervoor dat de Active Directory PowerShell-module is geïnstalleerd.
Voer op een Windows-server (2008 R2 of nieuwer) de volgende opdrachten uit in een PowerShell-console (als Adminsitrator):
Import-Module ServerManager; Add-WindowsFeature RSAT-AD-PowerShell
Hier is mijn (slechte) ADSI-voorbeeld:
Hier is hetzelfde met de AD PowerShell-cmdlet:
Import-module ActiveDirectory
$ UserID = “JoeUser”
Get-ADUser $ UserID –property *
Merk op dat met PowerShell versie 3 en nieuwer u niet de eerste regel hoeft uit te voeren, aangezien Powershell dat wel doet identificeer de benodigde module en laad deze automatisch.
Zodra je de Active Directory PowerShell-module hebt geladen, kun je coole dingen doen zoals door AD bladeren als een bestandssysteem
Handige opdrachten (cmdlets) vinden:
Ontdek beschikbare PowerShell-modules: Get-Module -ListAvailable
Ontdek cmdlets in een PowerShell module: Get-Command -module ActiveDirectory
PowerShell AD Module 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
Active Directory Flexible Master Single Operation (FSMO) -rollen vinden:
Active Directory-module:
.NET-oproepen:
Active Directory PowerShell-module Cmdlet Voorbeelden:
Get-RootDSE haalt informatie over de LDAP-server (de domeincontroller) op en geeft deze weer. Er staat wat interessante informatie in de resultaten, zoals welk besturingssysteem de DC draait.
Get-ADForest geeft informatie over de Active Directory forest de computer waarop u de opdracht uitvoert zich bevindt.
Get-ADDomain geeft informatie over het huidige domein waarin u zich bevindt.
Get-ADDomainController biedt computergegevens die specifiek zijn voor domeincontrollers.
Deze cmdlet maakt het gemakkelijk om alle DC’s in een specifieke site of met een OS-versie.
Get-ADComputer biedt het meeste van wat u zou willen weten over een computerobject in AD.
Voer uit met “-Prop *” om alle standaard eigenschappen te tonen.
Get-ADUser biedt de meeste van wat u wilt weten over een AD-gebruiker.
Voer uit met “-Prop *” om alle standaardeigenschappen weer te geven.
Get-ADGroup geeft informatie over een AD-groep. Zoek alle beveiligingsgroepen door het volgende uit te voeren:
Get-ADGroup -Filter {GroupCategory -eq ‘Security}
Get- ADGroupMember somt de groepsleden op en retourneert deze. Gebruik de parameter Recursive om alle leden van geneste groepen op te nemen.
Get-ADGroupMember ‘Administrators’ -Recursive
Deze cmdlets zijn handig om situaties te identificeren waarin voorheen een product of aangepaste scripts moesten worden aangeschaft.
In de volgende voorbeelden worden inactieve (verouderde) computers en gebruikers gevonden – accounts die hun wachtwoorden de afgelopen 10 dagen niet hebben gewijzigd. Merk op dat dit een laboratoriumvoorbeeld is. Voor echte controles wijzigt u dit in 60 tot 90 dagen voor computers en 180 tot 365 dagen voor gebruikers.
Zoek inactieve computers.
Inactieve gebruikers zoeken.
Domain Trusts inventariseren
AD-sitegegevens ophalen.
Merk op dat de Windows 2012-module cmdlet voor sites bevat (Get-ADReplicationSite *).
Back-up domein-groepsbeleidsobjecten
Merk op dat hiervoor de PowerShell-module voor groepsbeleid moet zijn geïnstalleerd, die los staat van de Active Directory-module.
Zoek AD Kerberos-serviceaccounts
Inventaris domeincontrollers
Get-ADDomainController – filter * | `selecteer hostnaam, IPv4Address, IsGlobalCatalog, IsReadOnly, OperatingSystem | `format-table -auto
Get-ADReplicationPartnerMetadata (Windows Server 2012 en nieuwer)
Get-ADReplicationPartnerFailure biedt informatie over de status van DC-replicatiefout.