Active Directory - Gestion des rôles FSMO
![]() |
Difficulté : Intermédiaire Notions : Active Directory, LDAP, Rôle FSMO |
I. Introduction
Cette procédure vise à expliquer le transfert des rôles FSMO. En effet, l'un des principes clé d'Active Directory réside dans la gestion de ces rôles.
Ces rôles sont par défaut tous portés par le contrôleur de domaine principal mais peuvent être répartis pour plus de souplesse. Il peut également être nécessaire de les transférer dans le cadre de l'arrêt définitif d'un serveur qui les portait auparavant.
Il est également possible de forcer leur réattribution à un nouveau DC si celui qui les portait avant n'est plus disponible suite à un incident ayant entrainé sa perte ou sa destruction.
Info : Plus d'informations sur les rôles FSMO
II. Transférer les rôles FSMO
Conseil : Bien qu'une méthode pour transférer ces rôles existe en GUI, elle est relativement fastidieuse car il faut en effet aller chercher à plusieurs endroits dans les outils d'administration. Aussi le plus rapide et pratique est de procéder en CLI.
En batch (méthode legacy)
Ouvrir une CMD sur le serveur Active Directory qui va reprendre les rôles.
Vérifier qui porte les rôles actuellement avec la commande :
netdom query FSMO
Ici c'est le DC principal qui porte tous les rôles.
Ouvrir la console NTDS Utils.
ntdsutil
Entrer en mode de maintenance du shema.
role
Se connecter au serveur de destination des rôles
connection
connect to server <FQDN>
q
Pour transférer les rôles, utiliser la commande suivante
transfer <NomDuRôle>
Attention : En cas de transfert forcé, la commande est seize. Mais cela ne doit être utilisé que si l'ancien DC n'est plus disponible. La procédure par défaut est celle donnée ci-dessus.
Il y à 5 rôles à transférer, dans cet ordre là :
- RID master
- schema master
- infrastructure master
- naming master
- pdc
Info : à chaque transfert, NTDSUTIL affiche le résumé des rôles, il est ainsi possible de vérifier au fur et à mesure leur bon transfert.
Pour chaque commande transfer, la fenêtre suivante apparaît, il faut cliquer sur 'Yes' pour valider le transfert :
Après validation :
Répéter la procédure sur chaque rôle. A la fin du processus, quitter les outils avec 'q'.
Une nouvelle requête indique maintenant :
En Powershell
Avec l'arrivée de Powershell, il est désormais nativement possible d'effectuer la procédure en Powershell. Cette méthode à l'avantage d'être plus rapide et de pouvoir s'exécuter depuis n'importe quel serveur AD ou du serveur d'administration.
Se connecter à la console Powershell. Vérifier qui porte les rôles :
netdom query FSMO
Il est également possible de savoir qui porte quel rôle avec le script powershell suivant :
$domainControllers = Get-ADDomainController -Filter *
foreach ($dc in $domainControllers) {
Write-Output "Name: $($dc.Name)"
Write-Output "OperationMasterRoles:"
foreach ($role in $dc.OperationMasterRoles) {
Write-Output "- $role"
}
}
La commande pour transférer un rôle est la suivante :
Move-ADDirectoryServerOperationMasterRole -Identity <NomServerDest> -OperationMasterRole <NomDuRole>
Attention : En cas de transfert forcé, il faut ajouter l'opérande -Force. Mais cela ne doit être utilisé que si l'ancien DC n'est plus disponible. La procédure par défaut est celle donnée ci-dessus.
Il y à 5 rôles à transférer, dans cet ordre là :
- RIDMaster
- SchemaMaster
- InfrastructureMaster
- DomainNamingMaster
- PDCEmulator
A la fin du transfert, il est possible d'afficher si le serveur de destination à bien hérité des rôles :
Get-ADDomainController -Identity <NomServeurDest> | Select-Object OperationMasterRoles -ExpandProperty OperationMasterRoles







