Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit plus en détail les applets de commande de gestion de la topologie et de la réplication d’AD DS et fournit des exemples supplémentaires. Pour une introduction, voir Gestion de la topologie et de la réplication Active Directory avec Windows PowerShell (niveau 100).
Introduction
Le tableau suivant répertorie les applets de commande de topologie et de réplication qui ont été ajoutées au module Active Directory pour Windows PowerShell :
| Cmdlet | Explanation |
|---|---|
| Get-ADReplicationAttributeMetadata | Renvoie des métadonnées de réplication d'attribut pour un objet |
| Get-ADReplicationConnection | Retourne les informations sur les objets de connexion du contrôleur de domaine |
| Get-ADReplicationFailure | Renvoie l'échec de réplication le plus récent d'un contrôleur de domaine |
| Get-ADReplicationPartnerMetadata | Retourne la configuration de réplication d'un contrôleur de domaine |
| Get-ADReplicationQueueOperation | Renvoie la liste d'attente actuelle de la réplication |
| Get-ADReplicationSite | Retourne les informations sur le site |
| Get-ADReplicationSiteLink | Renvoie les informations sur les liens du site |
| Get-ADReplicationSiteLinkBridge | Retourne les informations sur le pont lien de sites |
| Get-ADReplicationSubnet | Renvoie les informations du sous-réseau Active Directory |
| Get-ADReplicationUpToDatenessVectorTable | Retourne le vecteur de mise à jour (UTD) d'un contrôleur de domaine |
| Get-ADTrust | Renvoie les informations relatives à l'approbation inter-domaines ou inter-forêts |
| New-ADReplicationSite | Crée un site |
| New-ADReplicationSiteLink | Crée un lien de sites |
| New-ADReplicationSiteLinkBridge | Crée un pont lien de sites |
| New-ADReplicationSubnet | Crée un sous-réseau Active Directory |
| Remove-ADReplicationSite | Supprime un site |
| Remove-ADReplicationSiteLink | Supprime un lien de sites |
| Remove-ADReplicationSiteLinkBridge | Supprime un pont lien de sites |
| Remove-ADReplicationSubnet | Supprime un sous-réseau Active Directory |
| Set-ADReplicationConnection | Change une connexion |
| Set-ADReplicationSite | Modifie un site |
| Set-ADReplicationSiteLink | Change un lien de sites |
| Set-ADReplicationSiteLinkBridge | Modifie un pont lien de sites |
| Set-ADReplicationSubnet | Change un sous-réseau Active Directory |
| Sync-ADObject | Force la réplication d'un objet unique |
La base de la plupart des applets de commande se trouve dans Repadmin.exe. D'autres applets de commande (non répertoriées) gèrent des fonctionnalités comme le contrôle d'accès dynamique et les comptes de service administrés de groupe.
Pour obtenir la liste complète de toutes les applets de commande Active Directory pour Windows PowerShell, exécutez :
Get-Command -module ActiveDirectory
Pour obtenir la liste complète de tous les arguments d'applets de commande Active Directory pour Windows PowerShell, consultez l'aide. Par exemple:
Get-Help New-ADReplicationSite
Utilisez l’applet de commande Update-Help pour télécharger et installer les fichiers d’aide
Réplication et métadonnées
Repadmin.exe valide l'état et la cohérence de la réplication Active Directory. Repadmin.exe offre des options de manipulation simple des données (certains arguments prennent par exemple en charge les sorties CSV) mais l'automatisation a généralement exigé une analyse des sorties de fichiers texte. Le module Active Directory pour Windows PowerShell offre pour la première fois la possibilité de contrôler directement les données renvoyées. Auparavant, vous deviez créer des scripts ou utiliser des outils tiers.
En outre, les applets de commande suivantes implémentent un nouvel ensemble de paramètres Target, Scope et EnumerationServer :
Get-ADReplicationFailure
Get-ADReplicationPartnerMetadata
Get-ADReplicationUpToDatenessVectorTable
L’argument Cible accepte une liste séparée par des virgules de chaînes qui identifient les serveurs cibles, les sites, les domaines ou les forêts spécifiés par l’argument Étendue . Un astérisque (*) est également autorisé et signifie « tous les serveurs » de l'étendue spécifiée. Si aucune étendue n’est spécifiée, il implique tous les serveurs de la forêt de l’utilisateur actuel. L’argument Étendue spécifie la latitude de la recherche. Les valeurs acceptables sont Server, Site, Domain et Forest. EnumerationServer spécifie le serveur qui énumère la liste des contrôleurs de domaine spécifiés dans La cible et l’étendue. Il fonctionne de la même façon que l’argument Serveur et nécessite que le serveur spécifié exécute le service web Active Directory.
Pour présenter les applets de commande, voici quelques exemples de scénarios démontrant ce que repadmin.exe ne peut pas réaliser. Avec ces illustrations, les possibilités d’administration deviennent évidentes. Consultez l'aide sur les applets de commande pour connaître les exigences spécifiques en matière d'utilisation.
Get-ADReplicationAttributeMetadata
Cette applet de commande est similaire à repadmin.exe /showobjmeta. Elle vous permet de renvoyer des métadonnées de réplication, dans des situations telles que le changement d'un attribut, le contrôleur de domaine d'origine, les informations de version et numéro de séquence de mise à jour (USN, Update Sequence Number) et les données d'attribut. Cette applet de commande est utile pour vérifier où et quand le changement s'est produit.
Contrairement à Repadmin, Windows PowerShell permet une recherche et un contrôle de sortie flexible. Par exemple, vous pouvez effectuer la sortie des métadonnées de l'objet Admins du domaine, sous forme de liste lisible :
Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-list
Vous pouvez aussi réorganiser les données en tableau comme dans repadmin :
Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-table -wrap
Vous pouvez également obtenir des métadonnées pour une classe entière d’objets, en canalisant l’applet de commande Get-Adobject avec un filtre, tel que tous les groupes, puis combiner cela avec une date spécifique. Le pipeline est un canal utilisé entre plusieurs applets de commande pour transmettre des données. Pour afficher tous les groupes modifiés d'une certaine façon le 13 janvier 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
Pour plus d’informations sur d’autres opérations Windows PowerShell avec des pipelines, consultez Définition et utilisation des pipelines dans Windows PowerShell.
Vous pouvez aussi rechercher chaque groupe qui comporte le membre Tony Wang et la date à laquelle le groupe a été modifié pour la dernière fois :
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
Sinon, pour trouver tous les objets qui ont été restaurés à l'aide d'une sauvegarde de l'état du système dans le domaine, d'après leur version arbitrairement haute :
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
Vous pouvez aussi envoyer toutes les métadonnées de l'utilisateur dans un fichier CSV pour le consulter ultérieurement dans Microsoft Excel :
Get-ADObject -filter 'objectclass -eq "user"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | export-csv allgroupmetadata.csv
Get-ADReplicationPartnerMetadata
Cette applet de commande renvoie les informations sur la configuration et l'état de réplication d'un contrôleur de domaine pour surveiller, créer un inventaire ou résoudre un problème. À la différence de Repadmin.exe, Windows PowerShell permet d'afficher uniquement les données que vous considérez importantes, au format souhaité.
Par exemple, l'état de réplication lisible d'un contrôleur de domaine unique :
Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com
Ou la dernière réplication entrante d'un contrôleur de domaine et ses partenaires, dans un tableau :
Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com | format-table lastreplicationattempt,lastreplicationresult,partner -auto
Ou encore, vous pouvez contacter tous les contrôleurs de domaine de la forêt et afficher celui dont la dernière tentative de réplication a échoué pour une raison quelconque :
Get-ADReplicationPartnerMetadata -target * -scope server | where {$_.lastreplicationresult -ne "0"} | ft server,lastreplicationattempt,lastreplicationresult,partner -auto
Get-ADReplicationFailure
Cette applet de commande peut être utilisée pour renvoyer des informations sur les erreurs récentes de réplication. Il est analogue à Repadmin.exe /showreplsum, mais encore une fois, avec beaucoup plus de contrôle grâce à Windows PowerShell.
Par exemple, vous pouvez renvoyer les échecs les plus récents d’un contrôleur de domaine et les partenaires qu’il n’a pas réussi à contacter :
Get-ADReplicationFailure dc1.corp.contoso.com
Vous pouvez également renvoyer un affichage sous forme de tableau pour tous les serveurs d'un site logique Active Directory spécifique, classés pour faciliter la consultation et ne contenant que les données essentielles :
Get-ADReplicationFailure -scope site -target default-first-site-name | format-table server,firstfailuretime,failurecount,lasterror,partner -auto
Get-ADReplicationQueueOperation et Get-ADReplicationUpToDatenessVectorTable
Ces deux applets de commande renvoient les aspects futurs d’un contrôleur de domaine et précisent s’il est à jour. Vous y trouverez des informations de réplication et de vecteur de version en attente.
Sync-ADObject
Cette applet de commande est analogue à l’exécution Repadmin.exe /replsingleobject. Elle s'avère très utile pour apporter des changements qui nécessitent une réplication hors-bande, notamment pour corriger un problème.
Par exemple, si quelqu'un a supprimé le compte d'utilisateur du PDG et l'a restauré avec la Corbeille Active Directory, vous souhaitez certainement qu'il soit immédiatement répliqué sur tous les contrôleurs de domaine Vous voudrez probablement ne pas forcer la réplication de toutes les autres modifications d’objet déjà effectuées. C’est pour cela que vous avez un calendrier de réplication, pour éviter la surcharge des liaisons réseau étendu.
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 est performant lorsqu'il s'agit de renvoyer des informations sur la topologie de réplication comme des sites, des liens de sites, des ponts liens de sites et des connexions, mais il ne dispose pas d'un ensemble complet d'arguments pour apporter des changements. En réalité, aucun utilitaire Windows intégré, scriptable, n'a été spécifiquement conçu pour des administrateurs en vue de créer et de modifier une topologie AD DS. La modification en bloc des informations logiques Active Directory devient nécessaire, car Active Directory a évolué dans des millions d'environnements de clients.
Par exemple, après une expansion rapide de nouvelles succursales, associée à la consolidation d'autres succursales, vous pouvez être amené à apporter une centaine de modifications en fonction des emplacements physiques, des changements du réseau et des besoins en termes de nouvelle capacité. Au lieu d'utiliser Dssites.msc et Adsiedit.msc pour effectuer ces modifications, vous pouvez les automatiser. Ce changement s'impose alors que vous commencez avec une feuille de calcul de données fournies par votre réseau et les équipes des sites.
Les applets de commande Get-Adreplication\* retournent des informations sur la topologie de réplication et permettent d'acheminer vers les applets de commande Set-Adreplication\* en série. Les applets de commande Get ne modifient pas les données ; elles se contentent d'afficher les données ou de créer des objets de session Windows PowerShell, qui peuvent être transmis par pipeline aux applets de commande Set-Adreplication\*. Les applets de commande New et Remove sont utiles pour créer ou supprimer des objets de topologie Active Directory.
Par exemple, vous pouvez créer de nouveaux sites à l'aide d'un fichier CSV :
Import-Csv -path C:\newsites.csv | new-adreplicationsite
Vous pouvez également créer un lien de sites entre deux liens existants avec un intervalle de réplication et un coût de site personnalisés :
New-ADReplicationSiteLink -name "chicago<-->waukegan" -sitesincluded chicago,waukegan -cost 50 -replicationfrequencyinminutes 15
Vous pouvez également rechercher chaque site dans la forêt et remplacer les attributs Options par l’indicateur permettant d’activer la notification de changement entre sites, afin de répliquer à la vitesse maximale tout en utilisant la compression :
Get-ADReplicationSiteLink -filter * | set-adobject -replace @{options=$($_.options -bor 1)}
Important
Définissez -bor 5 pour désactiver la compression sur ces liens de site.
Vous pouvez encore rechercher toutes les affectations manquantes de sous-réseaux de sites, pour rapprocher la liste avec les sous-réseaux réels de ces emplacements :
Get-ADReplicationSite -filter * -property subnets | where-object {!$_.subnets -eq "*"} | format-table name
Voir aussi
Gestion de la topologie et de la réplication Active Directory avec Windows PowerShell (niveau 100)