Qu’est ce que les rôles FSMO d’un Active Directory et comment visualiser leur répartition en PowerShell ?

`
Je vous propose dans cet article de découvrir ce que sont les rôles FSMO dans un annuaire Active Directory et comment afficher leur répartition grâce à un simple script en PowerShell 😊

Les rôles FSMO, qu’est-ce que c’est ?

FSMO signifie Flexible Single Master Operation, ce qui veut dire opération à maître unique flottant. Il s’agit de cinq rôles spéciaux attribués à certains contrôleurs de domaine (DC) dans un environnement Active Directory. Ces rôles permettent d’éviter les conflits lors de la modification de certaines données sensibles dans l’annuaire, comme le nom des domaines, le schéma ou les identifiants des objets. 🙌

Les rôles FSMO sont les suivants :

Maître d’attribution des noms de domaine : il est unique dans la forêt et il est responsable de la création, du renommage et de la suppression des domaines. Il doit être contacté par le DC qui veut créer un nouveau domaine. 🌐

Contrôleur de schéma : il est aussi unique dans la forêt et il est le seul à pouvoir modifier la structure du schéma, c’est-à-dire la définition des classes et des attributs des objets de l’annuaire. Il doit être contacté par le DC qui veut étendre le schéma. 🔧

Maître d’attribution des identifiants relatifs (RID) : il en existe un par domaine et il est chargé de distribuer des plages d’identifiants relatifs aux autres DC du domaine. Les identifiants relatifs sont utilisés pour former les identifiants de sécurité (SID) des objets de l’annuaire. Il doit être contacté par le DC qui veut créer un nouvel objet. 🔑

Émulateur PDC : il existe aussi un par domaine et il assure la compatibilité avec les anciens systèmes Windows qui ne reconnaissent qu’un seul maître par domaine. Il gère aussi certaines tâches comme la synchronisation de l’heure, le changement de mot de passe ou l’activation des licences. ⏰

Maître d’infrastructure : il est le dernier rôle par domaine et il est responsable de la mise à jour des références aux objets d’autres domaines. Il doit être contacté par le DC qui veut modifier un attribut lié à un objet d’un autre domaine. 📝

Comment gérer les rôles FSMO ?

Les rôles FSMO sont attribués automatiquement lors de la création du premier DC de la forêt et du premier DC de chaque domaine. Par défaut, le premier DC détient tous les rôles de la forêt et du domaine, mais il est possible de les transférer ou de les saisir manuellement à l’aide de différents outils, comme les consoles MMC ou les commandes PowerShell. 💻

Il est recommandé de répartir les rôles FSMO entre plusieurs DC pour assurer une meilleure disponibilité et une meilleure répartition de la charge. Il faut aussi éviter de placer les rôles FSMO sur des DC qui sont souvent hors ligne ou qui ont d’autres fonctions critiques. Il faut également veiller à sauvegarder régulièrement les DC qui détiennent les rôles FSMO pour pouvoir les restaurer en cas de panne. 💾

Comment visualiser la répartition des rôles FSMO ?

Pour visualiser la répartition des rôles FSMO, nous allons utiliser la cmdlet Get-ADDomainController qui permet de récupérer les informations sur les contrôleurs de domaine du domaine courant ou d’un autre domaine spécifié. Cette cmdlet fait partie du module ActiveDirectory qui doit être installé sur le poste où le script est exécuté.

Voici le script PowerShell qui affiche les rôles FSMO et les contrôleurs de domaine qui les détiennent :

# Importer le module ActiveDirectory
Import-Module ActiveDirectory

# Définir un tableau avec les noms des rôles FSMO
$roles = @("Maître du schéma", "Maître d'attribution des noms de domaine", "Maître d'attribution des RID", "Maître d'infrastructure", "Émulateur PDC")

# Parcourir les rôles FSMO
foreach ($role in $roles) {

# Récupérer le contrôleur de domaine qui détient le rôle FSMO
$dc = Get-ADDomainController -Filter * -Server $role

# Afficher le nom du rôle et du contrôleur de domaine
Write-Output "$role : $($dc.HostName)"
}

Ce code est correctement formaté. Vous pouvez directement le COPIER / COLLER dans votre fichier de script.

Le résultat affiché doit ressemblé à cela :

Maître du schéma : DC1.contoso.com
Maître d'attribution des noms de domaine : DC1.contoso.com
Maître d'attribution des RID : DC2.contoso.com
Maître d'infrastructure : DC2.contoso.com
Émulateur PDC : DC2.contoso.com

Ce script peut être utile pour vérifier la répartition des rôles FSMO dans un environnement Active Directory et s’assurer qu’il n’y a pas de problème de disponibilité ou de cohérence. Il peut également être adapté pour afficher les rôles FSMO d’un autre domaine que le domaine courant en utilisant le paramètre -Identity de la cmdlet Get-ADDomainController.

J’espère que cet article vous a été utile et que vous avez appris quelque chose sur les rôles FSMO et PowerShell. N’hésitez pas à me faire part de vos commentaires ou questions. 😊

Laisser un commentaire

Cliquez ici pour révoquer votre décision.