Delen via


Geavanceerd Active Directory-replicatie- en topologiebeheer met Windows PowerShell (niveau 200)

In dit onderwerp worden de AD DS-cmdlets voor replicatie en topologiebeheer in meer detail uitgelegd en vindt u aanvullende voorbeelden. Zie Inleiding tot Active Directory-replicatie en topologiebeheer met Windows PowerShell (niveau 100) voor een inleiding.

  1. Introduction

  2. Replicatie en metagegevens

  3. Get-ADReplicationAttributeMetadata

  4. Get-ADReplicationPartnerMetadata

  5. Get-ADReplicationFailure

  6. Get-ADReplicationQueueOperation en Get-ADReplicationUpToDatenessVectorTable

  7. Sync-ADObject

  8. Topology

Introduction

De volgende tabel bevat replicatie- en topologie-cmdlets die zijn toegevoegd aan de Active Directory Windows PowerShell-module:

Cmdlet Explanation
Get-ADReplicationAttributeMetadata Retourneert replicatiemetagegevens van kenmerken voor een object
Get-ADReplicationConnection Retourneert details van het verbindingsobject van de domeincontroller
Get-ADReplicationFailure Retourneert de meest recente fout bij replicatie voor een domeincontroller
Get-ADReplicationPartnerMetadata Hiermee wordt de replicatieconfiguratie van een domeincontroller geretourneerd
Get-ADReplicationQueueOperation Retourneert de huidige achterstand in de replicatiewachtrij
Get-ADReplicationSite Retourneert site-informatie
Get-ADReplicationSiteLink Retourneert sitekoppelingsgegevens
Get-ADReplicationSiteLinkBridge Retourneert informatie over de koppelingsbrug van de site
Get-ADReplicationSubnet Retourneert AD-subnetgegevens
Get-ADReplicationUpToDatenessVectorTable Geeft als resultaat de UTD-vector voor een domeincontroller
Get-ADTrust Retourneert informatie over een vertrouwensrelatie tussen domeinen of forests
New-ADReplicationSite Hiermee maakt u een nieuwe site
New-ADReplicationSiteLink Hiermee maakt u een nieuwe sitekoppeling
New-ADReplicationSiteLinkBridge Hiermee maakt u een nieuwe sitekoppelingsbrug
New-ADReplicationSubnet Hiermee maakt u een nieuw AD-subnet
Remove-ADReplicationSite Een site verwijderen
Remove-ADReplicationSiteLink Hiermee verwijdert u een sitekoppeling
Remove-ADReplicationSiteLinkBridge Verwijdert een sitekoppelingsbrug
Remove-ADReplicationSubnet Hiermee verwijdert u een AD-subnet
Set-ADReplicationConnection Hiermee wijzigt u een verbinding
Set-ADReplicationSite Hiermee wijzigt u een site
Set-ADReplicationSiteLink Hiermee wijzigt u een sitekoppeling
Set-ADReplicationSiteLinkBridge Hiermee wijzigt u een sitekoppelingsbrug
Set-ADReplicationSubnet Hiermee wijzigt u een AD-subnet
Sync-ADObject Dwingt replicatie van één object af

De meeste van deze cmdlets hebben hun basis in Repadmin.exe. Andere cmdlets (niet vermeld) verwerken functies zoals dynamisch toegangsbeheer en door groepen beheerde serviceaccounts.

Voer de volgende opdracht uit voor een volledige lijst met alle Active Directory Windows PowerShell-cmdlets:

Get-Command -module ActiveDirectory

Raadpleeg de Help voor een volledige lijst met alle argumenten voor Active Directory Windows PowerShell-cmdlets. Voorbeeld:

Get-Help New-ADReplicationSite

Update-Help De cmdlet gebruiken om Help-bestanden te downloaden en te installeren

Replicatie en metagegevens

Repadmin.exe valideert de status en consistentie van Active Directory-replicatie. Repadmin.exe biedt eenvoudige opties voor het bewerken van gegevens- sommige argumenten ondersteunen bijvoorbeeld CSV-uitvoer, maar automatisering vereist over het algemeen parseren via uitvoer van tekstbestanden. De Active Directory-module voor Windows PowerShell is de eerste poging om een optie aan te bieden die echte controle over de geretourneerde gegevens mogelijk maakt; Hiervoor moest u scripts maken of hulpprogramma's van derden gebruiken.

Daarnaast implementeren de volgende cmdlets een nieuwe parameterset van Target, Scope en EnumerationServer:

  • Get-ADReplicationFailure

  • Get-ADReplicationPartnerMetadata

  • Get-ADReplicationUpToDatenessVectorTable

Het argument Doel accepteert een door komma's gescheiden lijst met tekenreeksen die de doelservers, sites, domeinen of forests identificeren die zijn opgegeven met het argument Bereik . Een sterretje (*) is ook toegestaan en betekent dat alle servers binnen het opgegeven bereik. Als er geen bereik is opgegeven, impliceert dit alle servers in het forest van de huidige gebruiker. Het argument Bereik geeft de breedtegraad van de zoekopdracht aan. Acceptabele waarden zijn Server, Site, Domein en Forest. De EnumerationServer geeft de server op die de lijst met domeincontrollers opsommen die zijn opgegeven in Target en Scope. Het werkt hetzelfde als het argument Server en vereist dat de opgegeven server de Active Directory-webservice uitvoert.

Om de cmdlets te introduceren, volgen hier enkele voorbeeldscenario's die laten zien welke mogelijkheden onmogelijk zijn zonder repadmin.exe; met deze voorbeelden worden de administratieve mogelijkheden duidelijk. Raadpleeg de Help voor cmdlets voor specifieke gebruiksvereisten.

Get-ADReplicationAttributeMetadata

Deze cmdlet is vergelijkbaar met repadmin.exe /showobjmeta. Hiermee kunt u replicatiemetagegevens retourneren, zoals wanneer een kenmerk is gewijzigd, de oorspronkelijke domeincontroller, de versie- en USN-gegevens en kenmerkgegevens. Deze cmdlet is handig voor het controleren waar en wanneer er een wijziging is opgetreden.

In tegenstelling tot Repadmin biedt Windows PowerShell flexibele zoek- en uitvoerbeheer. U kunt bijvoorbeeld de metagegevens van het object Domeinadministrator uitvoeren, geordend als een leesbare lijst:

Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-list

Schermopname van de metagegevensuitvoer van het object Domeinadministrator die is gerangschikt als een leesbare lijst.

U kunt de gegevens ook in een tabel rangschikken als repadmin:

Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-table -wrap

Schermopname van de gegevens die zijn gerangschikt als repadmin in een tabel.

U kunt ook metagegevens voor een hele klasse objecten ophalen door de cmdlet Get-Adobject te pipelinen met een filter, zoals alle groepen, en dat vervolgens te combineren met een specifieke datum. De pijplijn is een kanaal dat wordt gebruikt tussen meerdere cmdlets om gegevens door te geven. Als u alle groepen op een bepaalde manier wilt zien die op 13 januari 2012 zijn gewijzigd:

Get-ADObject -filter 'objectclass -eq "group"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com | where-object {$_.lastoriginatingchangetime -like "*1/13/2012*" -and $_.attributename -eq "name"} | format-table object

Schermopname die laat zien hoe u alle groepen kunt zien die op 13 januari 2012 zijn gewijzigd.

Zie Pijplijnen en pijplijnen in Windows PowerShell voor meer informatie over meer Windows PowerShell-bewerkingen met pijplijnen.

U kunt ook alle groepen met Tony Wang als lid achterhalen en wanneer de groep voor het laatst is gewijzigd:

Get-ADObject -filter 'objectclass -eq "group"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | where-object {$_.attributevalue -like "*tony wang*"} | format-table object,LastOriginatingChangeTime,version -auto

Schermopname van het achterhalen van elke groep met Tony Wang als lid en wanneer de groep voor het laatst is gewijzigd.

Als u alle objecten wilt vinden die gezaghebbend hersteld zijn met behulp van een systeemstatusback-up in het domein, op basis van hun kunstmatig verhoogde versie:

Get-ADObject -filter 'objectclass -like "*"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com | where-object {$_.version -gt "100000" -and $_.attributename -eq "name"} | format-table object,LastOriginatingChangeTime

Schermopname die laat zien hoe alle objecten gezaghebbend hersteld kunnen worden gevonden met behulp van een systeemstatusback-up in het domein, op basis van hun kunstmatig hoge versie.

U kunt ook alle metagegevens van gebruikers naar een CSV-bestand verzenden voor later onderzoek in Microsoft Excel:

Get-ADObject -filter 'objectclass -eq "user"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | export-csv allgroupmetadata.csv

Get-ADReplicationPartnerMetadata

Deze cmdlet retourneert informatie over de configuratie en status van replicatie voor een domeincontroller, zodat u problemen kunt bewaken, inventariseren of oplossen. In tegenstelling tot Repadmin.exebetekent het gebruik van Windows PowerShell dat u alleen de gegevens ziet die belangrijk voor u zijn, in de gewenste indeling.

Bijvoorbeeld de leesbare replicatiestatus van één domeincontroller:

Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com

Schermopname van het verkrijgen van de leesbare replicatiestatus van één domeincontroller.

Alternatief is de laatste keer dat een domeincontroller inkomende replicaties en zijn partners heeft uitgevoerd, in tabelvorm weergegeven:

Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com | format-table lastreplicationattempt,lastreplicationresult,partner -auto

Schermopname van de laatste keer dat een domeincontroller inkomend verkeer en de bijbehorende partners heeft gerepliceerd, in een tabelindeling.

U kunt ook contact opnemen met alle domeincontrollers in het forest en een van de domeincontrollers weergeven waarvan de laatste poging tot replicatie om welke reden dan ook is mislukt:

Get-ADReplicationPartnerMetadata -target * -scope server | where {$_.lastreplicationresult -ne "0"} | ft server,lastreplicationattempt,lastreplicationresult,partner -auto

Schermopname die laat zien hoe u contact kunt opnemen met alle domeincontrollers in het forest en een van de domeincontrollers weergeeft waarvan de laatste poging tot replicatie om welke reden dan ook is mislukt.

Get-ADReplicationFailure

Deze cmdlet kan worden gebruikt om informatie over recente fouten in replicatie te retourneren. Het is vergelijkbaar met Repadmin.exe /showreplsum, maar nogmaals, met veel meer controle dankzij Windows PowerShell.

U kunt bijvoorbeeld de meest recente fouten van een domeincontroller ophalen en de partners die het niet heeft kunnen bereiken:

Get-ADReplicationFailure dc1.corp.contoso.com

Schermopname die laat zien hoe u de meest recente fouten van een domeincontroller kunt retourneren en de partners waarmee hij geen contact heeft opgenomen.

U kunt ook een tabelweergave retourneren voor alle servers in een specifieke logische AD-site, geordend voor eenvoudiger weergeven en alleen de meest kritieke gegevens bevatten:

Get-ADReplicationFailure -scope site -target default-first-site-name | format-table server,firstfailuretime,failurecount,lasterror,partner -auto

Schermopname die laat zien hoe u een tabelweergave retourneert voor alle servers in een specifieke logische AD-site, geordend voor eenvoudiger weergeven en alleen de meest kritieke gegevens bevatten.

Get-ADReplicationQueueOperation en Get-ADReplicationUpToDatenessVectorTable

Beide cmdlets geven extra details van de domeincontroller terug en of deze up-to-date is, inclusief nog te verwerken replicatie- en versievectorinformatie.

Sync-ADObject

Deze cmdlet is vergelijkbaar met het uitvoeren vanRepadmin.exe /replsingleobject. Het is erg handig wanneer u wijzigingen aanbrengt waarvoor buiten-bandreplicatie is vereist, met name om een probleem op te lossen.

Als iemand bijvoorbeeld het gebruikersaccount van de CEO heeft verwijderd en het vervolgens heeft hersteld met de Prullenbak van Active Directory, wilt u het waarschijnlijk onmiddellijk naar alle domeincontrollers repliceren. U wilt dit waarschijnlijk ook doen zonder dat u replicatie van alle andere aangebrachte objectwijzigingen afdwingt; Daarom hebt u immers een replicatieschema, om overbelasting van WAN-koppelingen te voorkomen.

Get-ADDomainController -filter * | foreach {Sync-ADObject -object "cn=tony wang,cn=users,dc=corp,dc=contoso,dc=com" -source dc1 -destination $_.hostname}

Schermopname van het repliceren van een verwijderd account uit de Prullenbak van Active Directory naar alle domeincontrollers zonder dat de replicatie van alle andere objectwijzigingen wordt afgedwongen.

Topology

Hoewel Repadmin.exe goed is bij het retourneren van informatie over replicatietopologie zoals sites, sitekoppelingen, sitekoppelingsbruggen en verbindingen, heeft het geen uitgebreide set argumenten om wijzigingen aan te brengen. In feite is er nog nooit scriptbaar, in-box Windows-hulpprogramma dat speciaal is ontworpen voor beheerders om AD DS-topologie te maken en te wijzigen. Aangezien Active Directory in miljoenen klantomgevingen volwassen is geworden, wordt de noodzaak om logische Informatie van Active Directory bulksgewijs te wijzigen duidelijk.

Na een snelle uitbreiding van nieuwe filialen, in combinatie met de samenvoeging van anderen, hebt u bijvoorbeeld honderd sitewijzigingen die u kunt aanbrengen op basis van fysieke locaties, netwerkwijzigingen en nieuwe capaciteitsvereisten. In plaats van Dssites.msc en Adsiedit.msc te gebruiken om wijzigingen aan te brengen, kunt u automatiseren. Dit is vooral interessant wanneer u begint met een spreadsheet met gegevens die worden geleverd door uw netwerk- en faciliteitenteams.

De Get-Adreplication\* cmdlets geven informatie over de replicatietopologie en zijn nuttig voor het pipelinen in de Set-Adreplication\* cmdlets in grote hoeveelheden. Get-cmdlets veranderen geen data, ze tonen alleen data of maken Windows PowerShell-sessieobjecten die via de pipeline kunnen worden doorgestuurd naar Set-Adreplication\* cmdlets. De cmdlets Nieuw en Verwijderen zijn handig voor het maken of verwijderen van Active Directory-topologieobjecten.

U kunt bijvoorbeeld nieuwe sites maken met behulp van een CSV-bestand:

Import-Csv -path C:\newsites.csv | new-adreplicationsite

Schermopname van de Kladblok-interface.

Schermopname van het maken van nieuwe sites met behulp van een CSV-bestand.

U kunt ook een nieuwe sitekoppeling maken tussen twee bestaande sites met een aangepast replicatie-interval en sitekosten:

New-ADReplicationSiteLink -name "chicago<-->waukegan" -sitesincluded chicago,waukegan -cost 50 -replicationfrequencyinminutes 15

Schermopname van het maken van een nieuwe sitekoppeling tussen twee bestaande sites met een aangepast replicatie-interval en sitekosten.

U kunt ook elke site in het forest zoeken en hun Options-kenmerken vervangen door de vlag om notificaties van sitewijzigingen mogelijk te maken, zodat replicatie met maximale snelheid en compressie kan plaatsvinden.

Get-ADReplicationSiteLink -filter * | set-adobject -replace @{options=$($_.options -bor 1)}

geavanceerd beheer met PowerShell

Important

Stel -bor 5 in om ook compressie op deze sitekoppelingen uit te schakelen.

U kunt ook zoeken naar alle sites die subnettoewijzingen missen om de lijst af te stemmen met de werkelijke subnetten van deze locaties:

Get-ADReplicationSite -filter * -property subnets | where-object {!$_.subnets -eq "*"} | format-table name

Schermopname die laat zien hoe alle sites ontbrekende subnettoewijzingen kunnen vinden om de lijst af te stemmen met de werkelijke subnetten van die locaties.

Zie ook

Inleiding tot Active Directory-replicatie en topologiebeheer met Windows PowerShell (niveau 100)