Skip to main content

Active Directory - Gestion des rôles FSMO

image.png

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

image.png

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

image.png

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 :

image.png

Après validation :

image.png

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 :

image.png

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

image.png

 

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

 

image.png

 

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

image.png