Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet beskriver cmdletarna för AD DS-replikering och topologihantering i detalj och innehåller ytterligare exempel. En introduktion finns i Introduktion till Active Directory-replikering och topologihantering med Windows PowerShell (nivå 100).
Inledning
I följande tabell visas cmdletar för replikering och topologi som lagts till i Active Directory Windows PowerShell-modulen:
Cmdlet (ett PowerShell-kommando) | Förklaring |
---|---|
Get-ADReplicationAttributeMetadata | Returnerar metadata för attributreplikering för ett objekt |
Get-ADReplicationConnection | Returnerar information om domänkontrollantens anslutningsobjekt |
Get-ADReplicationFailure | Returnerar det senaste replikeringsfelet för en domänkontrollant |
Get-ADReplicationPartnerMetadata | Returnerar replikeringskonfiguration för en domänkontrollant |
Get-ADReplicationQueueOperation | Returnerar aktuell eftersläpning i replikeringskön |
Get-ADReplicationSite | Returnerar webbplatsinformation |
Get-ADReplicationSiteLink | Returnerar webbplatslänkinformation |
Get-ADReplicationSiteLinkBridge | Returnerar information om platslänksbro |
Get-ADReplicationSubnet | Returnerar AD-undernätsinformation |
Get-ADReplicationUpToDatenessVectorTable | Returnerar UTD-vektorn för en domänkontrollant |
Get-ADTrust | Returnerar information om ett förtroende mellan domäner eller skogar |
New-ADReplicationSite | Skapar en ny webbplats |
New-ADReplicationSiteLink | Skapar en ny webbplatslänk |
New-ADReplicationSiteLinkBridge | Skapar en ny webbplatslänkbrygga |
New-ADReplicationSubnet | Skapar ett nytt AD-undernät |
Remove-ADReplicationSite | Tar bort en webbplats |
Remove-ADReplicationSiteLink | Tar bort en webbplatslänk |
Remove-ADReplicationSiteLinkBridge | Tar bort en webbplatslänkbrygga |
Remove-ADReplicationSubnet | Tar bort ett AD-undernät |
Set-ADReplicationConnection | Ändrar en anslutning |
Set-ADReplicationSite | Ändrar en webbplats |
Set-ADReplicationSiteLink | Ändrar en webbplatslänk |
Set-ADReplicationSiteLinkBridge | Ändrar en platslänkbrygga |
Set-ADReplicationSubnet | Ändrar ett AD-undernät |
Sync-ADObject | Tvingar fram replikering av ett enskilt objekt |
De flesta av dessa cmdlets har sin grund i Repadmin.exe. Andra cmdletar (visas inte) hanterar funktioner som dynamisk åtkomstkontroll och grupphanterade tjänstkonton.
Om du vill ha en fullständig lista över alla Active Directory Windows PowerShell-cmdletar kör du:
Get-Command -module ActiveDirectory
En fullständig lista över alla Active Directory Windows PowerShell-cmdlet-argument finns i hjälpen. Till exempel:
Get-Help New-ADReplicationSite
Använd cmdleten Update-Help
för att ladda ned och installera hjälpfiler
Replikering och metadata
Repadmin.exe verifierar hälsotillståndet och konsekvensen för Active Directory-replikering. Repadmin.exe erbjuder enkla alternativ för datamanipulering – vissa argument stöder till exempel CSV-utdata – men automatisering kräver vanligtvis parsning via textfilutdata. Active Directory-modulen för Windows PowerShell är det första försöket att erbjuda ett alternativ som ger verklig kontroll över returnerade data. Innan dess var du tvungen att skapa skript eller använda verktyg från tredje part.
Dessutom implementerar följande cmdletar en ny parameteruppsättning av Target, Scope och EnumerationServer:
Get-ADReplicationFailure
Get-ADReplicationPartnerMetadata
Get-ADReplicationUpToDatenessVectorTable
Argumentet Mål accepterar en kommaavgränsad lista med strängar som identifierar målservrar, platser, domäner eller skogar som anges av argumentet Omfång . En asterisk (*) är också tillåten och innebär alla servrar inom det angivna omfånget. Om inget omfång anges innebär det alla servrar i den aktuella användarens skog. Argumentet Omfång anger sök latitud. Acceptabla värden är Server, Plats, Domän och Skog. EnumerationServer anger den server som räknar upp listan över domänkontrollanter som anges i Mål och Omfång. Det fungerar på samma sätt som serverargumentet och kräver att den angivna servern kör Active Directory-webbtjänsten.
För att introducera cmdlets, här är några exempelscenarier som visar funktioner som är omöjliga att repadmin.exe; med dessa illustrationer till hands blir de administrativa möjligheterna uppenbara. Granska cmdlet-hjälpen för specifika användningskrav.
Get-ADReplicationAttributeMetadata
Den här cmdleten liknar repadmin.exe /showobjmeta. Det gör att du kan returnera replikeringsmetadata, till exempel när ett attribut ändras, den ursprungliga domänkontrollanten, versionsinformationen och USN-informationen och attributdata. Den här cmdleten är användbar för att granska var och när en ändring inträffade.
Till skillnad från Repadmin ger Windows PowerShell flexibel sök- och utdatakontroll. Du kan till exempel mata ut metadata för objektet Domänadministratörer, ordnade som en läsbar lista:
Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-list
Du kan också ordna data så att de ser ut som repadmin i en tabell:
Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-table -wrap
Du kan också hämta metadata för en hel klass med objekt genom att ange cmdleten Get-Adobject med ett filter, till exempel alla grupper, och sedan kombinera den med ett visst datum. Pipelinen är en kanal som används mellan flera cmdletar för att skicka data. För att se alla grupper som har ändrats på något sätt den 13 januari 2012:
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
Mer information om fler Windows PowerShell-åtgärder med pipelines finns i Rörledning och pipeline i Windows PowerShell.
Du kan också ta reda på varje grupp som har Tony Wang som medlem och när gruppen senast ändrades:
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
Du kan också hitta alla objekt som auktoritativt återställs med hjälp av en säkerhetskopia av systemtillstånd i domänen, baserat på deras artificiellt höga version:
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
Du kan också skicka alla användarmetadata till en CSV-fil för senare undersökning i Microsoft Excel:
Get-ADObject -filter 'objectclass -eq "user"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | export-csv allgroupmetadata.csv
Get-ADReplicationPartnerMetadata
Den här cmdleten returnerar information om konfigurationen och replikeringstillståndet för en domänkontrollant, så att du kan övervaka, inventera eller felsöka. Till skillnad från Repadmin.exeinnebär användning av Windows PowerShell att du bara ser de data som är viktiga för dig, i önskat format.
Till exempel det läsbara replikeringstillståndet för en enda domänkontrollant:
Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com
Alternativt, tidpunkten då en domänkontrollant senast replikerade inkommande och dess samverkande partner i tabellformat:
Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com | format-table lastreplicationattempt,lastreplicationresult,partner -auto
Du kan också kontakta alla domänkontrollanter i skogen och visa alla vars senaste replikeringsförsök misslyckades av någon anledning:
Get-ADReplicationPartnerMetadata -target * -scope server | where {$_.lastreplicationresult -ne "0"} | ft server,lastreplicationattempt,lastreplicationresult,partner -auto
Get-ADReplicationFailure
Den här cmdleten kan användas för att returnera information om de senaste felen i replikeringen. Det är analogt med Repadmin.exe /showreplsum, men återigen, med mycket mer kontroll tack vare Windows PowerShell.
Du kan till exempel returnera en domänkontrollants senaste fel och de partner som den inte kontaktade:
Get-ADReplicationFailure dc1.corp.contoso.com
Alternativt kan du returnera en tabellvy för alla servrar på en specifik logisk AD-plats, ordnad för enklare visning och endast innehåller de mest kritiska data:
Get-ADReplicationFailure -scope site -target default-first-site-name | format-table server,firstfailuretime,failurecount,lasterror,partner -auto
Get-ADReplicationQueueOperation och Get-ADReplicationUpToDatenessVectorTable
Båda dessa cmdletar returnerar ytterligare aspekter av domänkontrollanten och om de är uppdaterade, vilket inkluderar väntande replikering och information om versionsvektorer.
Sync-ADObject
Den här cmdleten är motsvarande att köra Repadmin.exe /replsingleobject. Det är mycket användbart när du gör ändringar som kräver out-of-band-replikering, särskilt för att åtgärda ett problem.
Om någon till exempel har tagit bort VD:ns användarkonto och sedan återställt det med Active Directory-papperskorgen, vill du förmodligen att det replikeras till alla domänkontrollanter omedelbart. Du vill förmodligen också göra detta utan att tvinga replikering av alla andra objektändringar som gjorts. Det är trots allt därför du har ett replikeringsschema – för att undvika överlagring av WAN-länkar.
Get-ADDomainController -filter * | foreach {Sync-ADObject -object "cn=tony wang,cn=users,dc=corp,dc=contoso,dc=com" -source dc1 -destination $_.hostname}
Topologi
Även om Repadmin.exe är bra på att returnera information om replikeringstopologi som platser, platslänkar, platslänkbryggor och anslutningar, har den inte en omfattande uppsättning argument för att göra ändringar. I själva verket har det aldrig funnits skriptbara, in-box Windows-verktyg som utformats specifikt för administratörer för att skapa och ändra AD DS-topologi. När Active Directory har mognat i miljontals kundmiljöer blir behovet av att massanpassa logisk information i Active Directory uppenbart.
Efter en snabb expansion av nya avdelningskontor i kombination med konsolidering av andra kan du till exempel ha hundra platsändringar att göra baserat på fysiska platser, nätverksändringar och nya kapacitetskrav. I stället för att använda Dssites.msc och Adsiedit.msc för att göra ändringar kan du automatisera. Detta är särskilt intressant när du börjar med ett kalkylblad med data som tillhandahålls av dina nätverks- och anläggningsteam.
Cmdletarna Get-Adreplication\* returnerar information om replikeringstopologi och är användbara för att skicka data vidare till cmdletarna Set-Adreplication\* i bulk. Get cmdlets ändrar inte data, de visar bara data eller skapar Windows PowerShell-sessionsobjekt som kan kopplas till Set-Adreplication\* cmdlets. Cmdletarna New och Remove är användbara för att skapa eller ta bort Active Directory-topologiobjekt.
Du kan till exempel skapa nya webbplatser med hjälp av en CSV-fil:
Import-Csv -path C:\newsites.csv | new-adreplicationsite
Du kan också skapa en ny platslänk mellan två befintliga platser med ett anpassat replikeringsintervall och en platskostnad:
New-ADReplicationSiteLink -name "chicago<-->waukegan" -sitesincluded chicago,waukegan -cost 50 -replicationfrequencyinminutes 15
Du kan också hitta varje plats i skogen och ersätta deras alternativattribut med flaggan för att aktivera meddelanden om ändringar mellan platser för att replikera med maximal hastighet med komprimering:
Get-ADReplicationSiteLink -filter * | set-adobject -replace @{options=$($_.options -bor 1)}
Viktigt!
Ställ in -bor 5 för att inaktivera komprimering på dessa platslänkar också.
Du kan också hitta alla platser som saknar undernätstilldelningar för att stämma av listan med de faktiska undernäten på dessa platser:
Get-ADReplicationSite -filter * -property subnets | where-object {!$_.subnets -eq "*"} | format-table name