Active Directory est composé de 5 rôle FSMO. Deux rôles de forets et 3 rôles de domaine. Chaque rôle est unique et est hébergé pas un contrôleur de domaine.
Pour des raisons de maintenance ou de migration il est nécessaire de déplacer ces rôle sur un autre contrôleur de domaine.
Sommaire
Localiser les rôles FSMO
Les serveurs qui hébergent les rôles FSMO peuvent être obtenu par plusieurs méthodes (graphique, netdom, Powershell). La plus simple et rapide est d’utiliser la commande netdom. Celle-ci retourne le nom de chaque rôle et le DC qui l’héberge.
netdom query fsmo
Cette même information est accessible via Powershell, mais à l’aide de deux commandes (une pour la foret et une pour le domaine).
# Rôles de foret
Get-ADForest | Select-Object SchemaMaster,DomainNamingMaster
# Rôles de domaine
Get-ADDomain | Select-Object InfrastructureMaster, RIDMaster, PDCEmulator
Déplacer les rôles
Le déplacement des rôles FSMO nécessite des droits élevé dans le domaine et la foret.
Rôle FSMO | Droits |
Maitre du schéma | Schema Admins |
Domain Naming | Enterprise Admins |
RID | Domain Admins |
Emulateur PDC | Domain Admins |
Maitre d’infrastructure | Domain Admins |
Le déplacement des rôle FSMO est plutôt simple et ne demande pas de préparation particulière hormis avoir un AD en bonne santé (dcdiag /e) et le déplacement du rôle PDC. En effet ce rôle assure entre autre le rôle de serveur NTP pour le domaine. Lors du déplacement de celui-ci il est primordiale de vérifier le configuration du service w32time et l’accès réseau à un serveur NTP extérieur.
Un peu d’aide pour la configuration du service NTP :
Graphiquement rôles de domaine
Les rôles FSMO de domaine, peuvent être déplacé à l’aide de la console “dsa.msc”. La console dsa.msc doit être connectée sur le DC cible.
Dans la fenêtre “maitre d’opération”, chaque rôles de domaine est matérialisé par un onglet. Pour déplacer le rôle RID, la console dsa.msc est connectée sur le DC cible. Le DC cible est automatiquement renseigné. Cliquer sur “Modifier”, le rôle est déplacé.
Graphiquement rôles de forest
Les deux rôles de foret peuvent eux aussi être géré graphiquement. Mais dans des consoles distinctes.
Maitre du schéma
Le rôle maitre du schéma peut être géré via la console mmc “Schéma Active Directory”. Cette console est par défaut “cachée”, il est nécessaire d’enregistrer la dll “schmmgmt.dll” pour que la console soit accessible.
regsvr32 schmmgmt.dll
A l’identique des rôles FSMO de domaine, connecter la console mmc sur le contrôleur de domaine cible. Réaliser un clic droit sur le schéma AD et cliquer sur “Maitre d’opération”.
Cliquer sur “Modifier” pour déplacer le rôle.
Maitre des noms de domaine
Le rôle “Maitre des nom de domaine” peut lui aussi être géré graphiquement. La console est “Domaines et approbations Active Directory” ou domain.msc.
A l’identique que pour les autres rôles, il faut connecter la console sur le DC qui devra hébergé ce rôle. Réaliser un clic droit et cliquer sur “Maitre d’opération”.
Cliquer sur “Modifier” pour déplacer le rôle.
Via Powershell
Déplacer les rôles FSMO peuvent être déplacés à l’aide de Powershell. La commande utilisé est ‘Move-ADDirectoryServerOperationMasterRole’, vous trouverez toute la documentation sur le site Microsoft à l’adresse :
Dans cet exemple ci, le rôle déplacé est le maitre d’infrastructure. Il est identifié sous le nom ‘InfrastructureMaster’ ou par l’ID 2. La valeur de l’attribut ‘identity’ correspond au nom du DC sur lequel sera hébergé le rôle.
Nom du rôle | Valeur |
DomainNamingMaster | 4 |
SchemaMaster | 3 |
InfrastructureMaster | 2 |
RIDMaster | 1 |
PDCEmulator | 0 |
Move-ADDirectoryServerOperationMasterRole -Identity ‘DC11’ -OperationMasterRole InfrastructureMaster
Forcer le déplacement des rôles
Dans certains cas, il est nécessaire de forcer le déplacement des rôle FSMO. Ce cas de figure se présente en cas perte du contrôleur de domaine hébergeant les rôles. Ce cas est plutôt rare est doit être réalisé avec précaution. On ne parle plus de déplacement du rôle mais plutôt de reconstruction du rôle.
Lorsque cette opération est réalisée, en aucun cas le DC corrompu ne doit être remis sur le réseau. Cette action peut-être réalisée en Powershell ou via NTDSUTIL.
Dans l’exemple ci-dessous, l’opération a dût être réalisée suite à une très mauvaise manipulation de tentative de migration. Cette tentative de migration a été faites en clonant des DCce qui a provoqué des doublons dans les contrôleurs de domaine. L’AD est désynchronisée depuis 4 ans… Plus aucun DC et services AD ne communiquent entre eux. Ne me demandais pas comment, pourquoi et depuis 4 ans, je n’en sais rien…
Le but de l’opération est de prendre un des DC (celui le plus en ‘forme’), de reconstruire sur celui-ci les rôles FSMO puis de promouvable les DC à partir de celui-ci.
Move-ADDirectoryServerOperationMasterRole -identity ‘DC2’ -OperationMasterRole 4 -force
Move-ADDirectoryServerOperationMasterRole -identity ‘DC2’ -OperationMasterRole 0,1,2,3 -force
Note : Si vous êtes amené à réaliser cette opération, c’est en générale que vous êtes vraiment dans une mauvaise situation et que la nuit va être longue. Ou que vous êtes comme moi et que vous adorez les situations de crises 😉