Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der vorliegende Artikel bietet eine ausführlichere Erläuterung der Cmdlets für die AD DS-Replikation und die Topologieverwaltung sowie zusätzliche Beispiele. Eine Einführung finden Sie im Artikel Einführung in die Active Directory-Replikation und Topologieverwaltung mithilfe von Windows PowerShell (Stufe 100).
Introduction
In der folgenden Tabelle sind die Cmdlets für Replikation und Topologie aufgeführt, die dem Active Directory-Modul für Windows PowerShell hinzugefügt wurden:
| Cmdlet | Explanation |
|---|---|
| Get-ADReplicationAttributeMetadata | Gibt Metadaten zur Attributreplikation für ein Objekt zurück |
| Get-ADReplicationConnection | Gibt Objektdetails zur Domänencontrollerverbindung zurück |
| Get-ADReplicationFailure | Gibt den neuesten Replikationsfehler für einen Domänencontroller zurück |
| Get-ADReplicationPartnerMetadata | Gibt die Replikationskonfiguration für einen Domänencontroller zurück |
| Get-ADReplicationQueueOperation | Gibt das Backlog der aktuellen Replikations-Warteschlange zurück |
| Get-ADReplicationSite | Gibt Standortinformationen zurück |
| Get-ADReplicationSiteLink | Gibt Standortverknüpfungsinformationen zurück |
| Get-ADReplicationSiteLinkBridge | Gibt Standortverknüpfungsbrückeninformationen zurück |
| Get-ADReplicationSubnet | Gibt AD-Subnetzinformationen zurück |
| Get-ADReplicationUpToDatenessVectorTable | Gibt den Aktualitätsvektor für einen Domänencontroller zurück |
| Get-ADTrust | Gibt Informationen über eine domänen- oder gesamtstrukturübergreifende Vertrauensstellung zurück |
| New-ADReplicationSite | Erstellt einen neuen Standort |
| New-ADReplicationSiteLink | Erstellt eine neue Standortverknüpfung |
| New-ADReplicationSiteLinkBridge | Erstellt eine neue Standortverknüpfungsbrücke |
| New-ADReplicationSubnet | Erstellt ein neues AD-Subnetz |
| Remove-ADReplicationSite | Löscht einen Standort |
| Remove-ADReplicationSiteLink | Löscht eine Standortverknüpfung |
| Remove-ADReplicationSiteLinkBridge | Löscht eine Standortverknüpfungsbrücke |
| Remove-ADReplicationSubnet | Löscht ein AD-Subnetz |
| Set-ADReplicationConnection | Bearbeitet eine Verbindung |
| Set-ADReplicationSite | Bearbeitet einen Standort |
| Set-ADReplicationSiteLink | Bearbeitet eine Standortverknüpfung |
| Set-ADReplicationSiteLinkBridge | Bearbeitet eine Standortverknüpfungsbrücke |
| Set-ADReplicationSubnet | Bearbeitet ein AD-Subnetz |
| Sync-ADObject | Erzwingt die Replikation eines einzelnen Objekts |
Die Basis der meisten dieser Cmdlets ist Repadmin.exe. Andere (nicht aufgelistete) Cmdlets verwalten Features wie die dynamische Zugriffssteuerung und gruppenverwaltete Dienstkonten.
Eine vollständige Liste aller Active Directory Windows PowerShell-Cmdlets erhalten Sie mit dem folgenden Befehl:
Get-Command -module ActiveDirectory
Eine vollständige Liste der Argumente aller Active Directory Windows PowerShell-Cmdlets finden Sie im jeweiligen Hilfeartikel. Beispiel:
Get-Help New-ADReplicationSite
Mit dem Cmdlet Update-Help können Sie die Hilfedateien herunterladen und installieren.
Replikation und Metadaten
Repadmin.exe prüft Integrität und Konsistenz der Active Directory-Replikation. Repadmin.exe bietet einfache Optionen zur Datenbearbeitung, wie z. B. einige Argumente für CSV-Ausgabe, für die Automatisierung müssen jedoch normalerweise Ausgaben in Form von Textdateien analysiert werden. Das Active Directory-Modul für Windows PowerShell ist der erste Versuch, eine Option anzubieten, die wirkliche Kontrolle über die zurückgegebenen Daten ermöglicht. Bisher mussten zu diesem Zweck Skripts erstellt oder Tools von Drittanbietern verwendet werden.
Darüber hinaus implementieren die folgenden Cmdlets einen neuen Parametersatz von Target, Scope und EnumerationServer:
Get-ADReplicationFailure
Get-ADReplicationPartnerMetadata
Get-ADReplicationUpToDatenessVectorTable
Das Argument "Ziel" akzeptiert eine durch Kommas getrennte Liste von Zeichenfolgen, die die Zielserver, Websites, Domänen oder Gesamtstrukturen identifizieren, die im Bereich-Argument angegeben werden. Ein Sternchen (*) ist auch zulässig und bezeichnet alle Server im angegebenen Bereich. Wenn kein Bereich angegeben ist, sind alle Server in der Gesamtstruktur des aktuellen Benutzers gemeint. Das Argument Scope gibt den Breitengrad der Suche an. Zulässige Werte sind Server, Standort, Domäne und Gesamtstruktur. Der EnumerationServer gibt den Server an, der die Liste der Domänencontroller aufzählt, die in Ziel und Bereich angegeben sind. Es funktioniert mit dem Server-Argument und erfordert, dass der angegebene Server den Active Directory-Webdienst ausführt.
Im Folgenden finden Sie einige Beispielszenarien, die mit „repadmin.exe“ nicht umsetzbar sind. Sie verdeutlichen die administrativen Möglichkeiten, die diese Cmdlets bieten. Genauere Informationen zur Syntax finden Sie in den Hilfedateien der einzelnen Cmdlets.
Get-ADReplicationAttributeMetadata
Dieses Cmdlet ähnelt repadmin.exe /showobjmeta. Es gibt Replikationsmetadaten zurück, z. B. den Änderungszeitpunkt eines Attributs, den Ursprungs-Domänencontroller, Versions- und USN-Informationen und Attributdaten. Dieses Cmdlet ist hilfreich, wenn Sie feststellen müssen, wo und wann eine Änderung durchgeführt wurde.
Im Gegensatz zu Repadmin bietet Windows PowerShell flexible Kontrolle über Suche und Ausgabe. Sie können z. B. die Metadaten des Domänen-Admin-Objekts sortiert als lesbare Liste ausgeben:
Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-list
Alternativ können Sie die Daten wie bei Repadmin in einer Tabelle ausgeben:
Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-table -wrap
Alternativ können Sie Metadaten für eine gesamte Klasse von Objekten abrufen, indem Sie das Cmdlet "Get-Adobject " mit einem Filter, z. B. alle Gruppen, weiterleiten und diese dann mit einem bestimmten Datum kombinieren. Pipelines sind Kanäle zur Datenübergabe zwischen mehreren Cmdlets. Anzeigen aller Gruppen, die am 13. Januar 2012 auf irgendeine Art verändert wurden:
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
Weitere Informationen zu Windows PowerShell-Vorgängen mit Pipelines finden Sie unter Piping und die Pipeline in Windows PowerShell.
Anzeigen aller Gruppen, in denen Tony Wang Mitglied ist, und Anzeigen des letzten Änderungsdatums der Gruppen:
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
Anzeigen aller Objekte, die mit einer Systemstatussicherung in der Domäne autoritativ wiederhergestellt wurden, anhand ihrer künstlich hohen Versionsnummer:
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
Senden aller Benutzermetadaten in eine CSV-Datei zur späteren Analyse in Microsoft Excel:
Get-ADObject -filter 'objectclass -eq "user"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | export-csv allgroupmetadata.csv
Get-ADReplicationPartnerMetadata
Dieses Cmdlet gibt Informationen über Konfiguration und Status der Replikation für einen Domänencontroller zurück und ermöglicht Überwachung, Inventur und Problembehandlung. Im Gegensatz zu Repadmin.exe werden bei Windows PowerShell nur die wirklich relevanten Daten im jeweils optimalen Format angezeigt.
Der lesbare Replikationsstatus eines einzelnen Domänencontrollers:
Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com
Der Zeitpunkt der letzten Replikation eines Domänencontrollers in eingehender Richtung und dessen Partner, im Tabellenformat:
Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com | format-table lastreplicationattempt,lastreplicationresult,partner -auto
Alle Domänencontroller in der Gesamtstruktur kontaktieren und diejenigen anzeigen, deren letzter Replikationsversuch aus irgendeinem Grund fehlgeschlagen ist:
Get-ADReplicationPartnerMetadata -target * -scope server | where {$_.lastreplicationresult -ne "0"} | ft server,lastreplicationattempt,lastreplicationresult,partner -auto
Get-ADReplicationFailure
Dieses Cmdlet gibt Informationen über aktuelle Fehler bei der Replikation zurück. Es ist analog zu Repadmin.exe /showreplsum, aber wieder mit viel mehr Kontrolle dank Windows PowerShell.
Sie können zum Beispiel die letzten Fehler für einen Domänencontroller und die Partner anzeigen, die nicht kontaktiert werden konnten:
Get-ADReplicationFailure dc1.corp.contoso.com
Anzeigen einer Tabellenansicht für alle Server in einem logischen AD-Standort, sortiert zur leichteren Analyse und nur mit den wichtigsten Daten:
Get-ADReplicationFailure -scope site -target default-first-site-name | format-table server,firstfailuretime,failurecount,lasterror,partner -auto
Get-ADReplicationQueueOperation und Get-ADReplicationUpToDatenessVectorTable
Beide Cmdlets geben Auskunft über weitere Aspekte des Domänencontrollers und darüber, ob er auf dem neuesten Stand ist. Dazu gehören auch Informationen über ausstehende Replikationen und Versionsvektoren.
Sync-ADObject
Dieses Cmdlet entspricht der Ausführung Repadmin.exe /replsingleobject. Diese Funktion ist hilfreich, wenn Sie irgendwelche Änderungen außerplanmäßig replizieren möchten, insbesondere bei der Korrektur von Problemen.
Wenn z. B. jemand das Benutzerkonto des Geschäftsführers gelöscht und anschließend mit dem Active Directory-Papierkorb wiederhergestellt hat, möchten Sie dieses Objekt vermutlich sofort auf alle Domänencontroller replizieren. Außerdem möchten Sie dabei sehr wahrscheinlich keine Replikation aller anderen Objektänderungen erzwingen. Schließlich verfügen Sie zu diesem Zweck über einen Replikationsplan, um eine Überlastung der WAN-Verbindungen zu vermeiden.
Get-ADDomainController -filter * | foreach {Sync-ADObject -object "cn=tony wang,cn=users,dc=corp,dc=contoso,dc=com" -source dc1 -destination $_.hostname}
Topology
Repadmin.exe ist zwar praktisch zum Abrufen von Daten über Replikationstopologien wie z. B. Standorte, Standortverknüpfungen, Standortverknüpfungsbrücken und Verbindungen, bietet jedoch keine umfassenden Argumente, um Änderungen an den Objekten vorzunehmen. Bislang gibt es kein skriptgesteuertes, integriertes Windows-Hilfsprogramm speziell für Administratoren, um AD DS-Topologien zu erstellen und zu bearbeiten. Active Directory ist in Millionen von Kundenumgebungen gereift, und offensichtlich wird eine Möglichkeit zum massenweisen Bearbeiten logischer Active Directory-Informationen benötigt.
Nach einer schnellen Erweiterung neuer Filialen und der Konsolidierung anderer Filialen kann es passieren, dass Sie Hunderte von Standortänderungen aufgrund von physischen Standorten, Netzwerkänderungen und neuen Kapazitätsanforderungen vornehmen müssen. Anstatt Dssites.msc und Adsiedit.msc für diese Änderungen zu verwenden, können Sie den Vorgang automatisieren. Dies ist besonders überzeugend, wenn Sie mit einer Datentabelle arbeiten, die Sie von Ihren Netzwerk- und Einrichtungsteams erhalten haben.
Die Cmdlets "Get-Adreplication\*" geben Informationen zur Replikationstopologie zurück und eignen sich für das Weiterleiten in die Cmdlets "Set-Adreplication\*" im Massenvorgang. Get-Cmdlets ändern keine Daten; sie zeigen Daten nur an oder erstellen Windows PowerShell-Sitzungsobjekte, die an Set-Adreplication\*-Cmdlets weitergeleitet werden können. Die Cmdlets "Neu " und "Entfernen " sind hilfreich zum Erstellen oder Entfernen von Active Directory-Topologieobjekten.
Sie können z. B. neue Standorte mit einer CSV-Datei erstellen:
Import-Csv -path C:\newsites.csv | new-adreplicationsite
Alternativ können Sie eine Standortverknüpfung zwischen zwei existierenden Standorten mit benutzerdefiniertem Replikationsintervall und Standortkosten einrichten:
New-ADReplicationSiteLink -name "chicago<-->waukegan" -sitesincluded chicago,waukegan -cost 50 -replicationfrequencyinminutes 15
Alternativ können Sie jede Website in der Gesamtstruktur suchen und ihre Optionsattribute durch das Flag ersetzen, um eine Benachrichtigung über standortübergreifende Änderungen zu aktivieren, um mit maximaler Geschwindigkeit mit Komprimierung replizieren zu können:
Get-ADReplicationSiteLink -filter * | set-adobject -replace @{options=$($_.options -bor 1)}
Important
Legen Sie "-bor 5 " fest, um die Komprimierung auch auf diesen Websitelinks zu deaktivieren.
Oder Sie suchen nach allen Standorten mit fehlenden Subnetz-Zuweisungen, um die Liste mit den tatsächlichen Subnetzen dieser Standorte abzustimmen:
Get-ADReplicationSite -filter * -property subnets | where-object {!$_.subnets -eq "*"} | format-table name