🪟 Séance 1 : Active Directory — Déploiement DC et structure OU

B2 3h30 C2.2.2 SISR
FormationBTS SIO option SISR — IRIS Mediaschool
BlocB2 — Administration Systèmes & Réseaux
ModuleM2.2 — Services réseau et systèmes
CompétencesB2.2 / B2.3
Durée3h30

Introduction (10 min)

En juin 2017 l'attaque NotPetya a montré à quel point un annuaire Active Directory compromis peut permettre une propagation foudroyante dans une entreprise : PsExec et WMIC ont été utilisés pour lancer des payloads sur des machines du domaine, causant des pertes chiffrées en centaines de millions de dollars et la réinstallation de dizaines de milliers de postes. Cette séance démarre par ce cas réel pour rappeler l'importance d'un annuaire correctement déployé et protégé, et pour motiver les bonnes pratiques que nous allons mettre en œuvre sur la PME fil rouge InnovatTech. Nous travaillerons ici sur le déploiement d'un DC Windows Server 2022, la création d'une structure d'OU adaptée et la gestion d'objets AD avec PowerShell.

Objectifs de la séance

À l'issue de cette séance, vous serez capable de :

  • Déployer et promouvoir un serveur Windows Server 2022 en contrôleur de domaine pour la forêt/domaine innovattech.local
  • Concevoir et créer une structure d'OU adaptée à la PME InnovatTech et y placer comptes et groupes
  • Gérer les comptes utilisateurs et groupes avec PowerShell (création automatisée via CSV, déplacement d'objets, inventaire des connexions)

1. Concepts fondamentaux d'Active Directory (40 min)

Active Directory (AD) est un annuaire centralisé qui modélise les ressources (utilisateurs, groupes, ordinateurs, imprimantes) et les politiques d'une entreprise. Dans AD on distingue :

  • La forêt — ensemble de domaines partageant un schéma et un catalogue global
  • Le domaine — un espace d'administration logique
  • Les contrôleurs de domaine (DC) — détiennent une copie de la base AD et assurent l'authentification
  • Les Unités d'Organisation (OU) — structurent les objets pour la délégation et l'application de GPO

Les rôles FSMO

Les rôles FSMO (Flexible Single Master Operations) sont cinq rôles critiques qui, bien qu'AD soit multi-maître pour la plupart des opérations, restent uniques pour des fonctions spécifiques :

Rôle FSMOPortéeFonction
Schema MasterForêtApplique les modifications de schéma au niveau forêt
Domain Naming MasterForêtAutorise l'ajout/suppression de domaines dans la forêt
RID MasterDomaineDistribue des pools d'identificateurs relatifs (RID) aux DC
PDC EmulatorDomaineHorloge, compatibilité anciens clients, changement de mot de passe immédiat
Infrastructure MasterDomaineMaintient les références entre objets inter-domaines

Pour inspecter rapidement les FSMO et l'état d'AD, ces commandes sont utiles sur un DC :

# Voir les rôles FSMO (commande classique)
netdom query fsmo

# Informations sur la forêt et le domaine via PowerShell (module ActiveDirectory)
Get-ADForest
Get-ADDomain

Exemple de sortie attendue (résumé commenté) :

Schema master:        WIN-SRV01.innovattech.local
DomainNamingMaster:   WIN-SRV01.innovattech.local
PDC:                  WIN-SRV01.innovattech.local
RID pool manager:     WIN-SRV01.innovattech.local
Infrastructure master: WIN-SRV01.innovattech.local

Chaque ligne montre le DC qui détient le rôle FSMO. Dans une PME comme InnovatTech avec un seul DC, ce serveur porte naturellement tous les rôles. Dans une architecture de production on répartira ces rôles pour tolérance et performances.


1.1 Promotion d'un serveur en contrôleur de domaine (30 min)

Prérequis : le serveur win-srv01 doit avoir une adresse IP statique (ex. 192.168.10.5), un nom d'hôte fixe, et l'accès au réseau de gestion. Le DNS sur le DC doit pointer sur lui-même après promotion.

Sur Windows Server 2022, l'installation du rôle AD DS et la promotion en forêt se font avec PowerShell :

# Installer le rôle AD DS et les outils d'administration
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

# Préparer le mot de passe DSRM (Directory Services Restore Mode)
$SecurePwd = Read-Host "Enter DSRM password" -AsSecureString

# Promouvoir le serveur en nouvelle forêt et domaine "innovattech.local"
Install-ADDSForest -DomainName "innovattech.local" -SafeModeAdministratorPassword $SecurePwd -InstallDNS -Force
💡 Commentaires
  • Install-WindowsFeature installe le rôle AD DS et les cmdlets RSAT nécessaires.
  • Install-ADDSForest crée la forêt et le domaine racine ; le paramètre -InstallDNS ajoute le rôle DNS intégré AD, recommandé pour une petite PME.
  • La commande redémarrera le serveur à la fin de la promotion.

Après redémarrage, vérifiez :

# Vérifier le service AD et le rôle DNS
Get-Service -Name "NTDS" ; Get-Service -Name "DNS"

# Lister les contrôleurs de domaine et l'état de réplication
Get-ADDomainController -Filter * | Select-Object Name,Ipv4Address,Site
repadmin /showrepl

repadmin /showrepl montre pour chaque partenaire de réplication l'état des changements reçus et tout saut d'erreur (DNS, connectivité, horloge).


2. Structure d'OU recommandée pour InnovatTech (30 min)

Pour la PME InnovatTech nous proposons une OU racine InnovatTech qui regroupe des OUs métiers, ce qui facilite la délégation et l'application ciblée de GPO : Direction, Informatique, Commercial, RH, IT. Cette organisation correspond aux besoins d'administration d'une PME de 35 personnes et permet de déléguer la gestion des utilisateurs aux responsables métiers sans exposer les comptes sensibles d'infrastructure.

Schéma de la structure OU

DC=innovattech.local
└─ OU=InnovatTech
   ├─ OU=Direction
   ├─ OU=Informatique
   │  └─ OU=AdminServeurs
   ├─ OU=Commercial
   ├─ OU=RH
   └─ OU=IT

Création via PowerShell

# Créer la OU racine puis les OUs métiers
New-ADOrganizationalUnit -Name "InnovatTech" -Path "DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
New-ADOrganizationalUnit -Name "Direction"    -Path "OU=InnovatTech,DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
New-ADOrganizationalUnit -Name "Informatique" -Path "OU=InnovatTech,DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
New-ADOrganizationalUnit -Name "Commercial"   -Path "OU=InnovatTech,DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
New-ADOrganizationalUnit -Name "RH"           -Path "OU=InnovatTech,DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
New-ADOrganizationalUnit -Name "IT"           -Path "OU=InnovatTech,DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
💡 Bonnes pratiques

Protéger les OUs contre la suppression accidentelle est une mesure simple à appliquer dès la création. La granularité choisie doit rester pragmatique pour une PME de 35 personnes : trop d'OUs complique la gestion, trop peu empêche la délégation fine.


3. Gestion des objets AD avec PowerShell (40 min)

La gestion d'utilisateurs et de groupes avec PowerShell permet d'automatiser les tâches répétitives et d'éviter les erreurs manuelles. Voici des commandes concrètes et comment les interpréter.

Créer un utilisateur

# Création d'un compte utilisateur avec mot de passe (laboratoire)
$pwd = ConvertTo-SecureString "P@ssw0rd!2023" -AsPlainText -Force
New-ADUser -Name "Jean Martin" `
  -GivenName "Jean" -Surname "Martin" `
  -SamAccountName "jmartin" `
  -UserPrincipalName "jmartin@innovattech.local" `
  -AccountPassword $pwd -Enabled $true `
  -Path "OU=Direction,OU=InnovatTech,DC=innovattech,DC=local"

Créer un groupe

New-ADGroup -Name "IT-Admins" `
  -GroupScope Global `
  -GroupCategory Security `
  -Path "OU=Informatique,OU=InnovatTech,DC=innovattech,DC=local"

Déplacer un objet

Move-ADObject `
  -Identity "CN=Jean Martin,OU=Direction,OU=InnovatTech,DC=innovattech,DC=local" `
  -TargetPath "OU=Informatique,OU=InnovatTech,DC=innovattech,DC=local"

Inventaire des connexions

# Lister les utilisateurs avec leur dernier logon — utile pour identifier les comptes inactifs
Get-ADUser -Filter * -Properties LastLogonDate |
  Sort-Object LastLogonDate -Descending |
  Select-Object Name,SamAccountName,LastLogonDate |
  Format-Table -AutoSize

La sortie est une table listant les utilisateurs et la date/heure de leur dernier logon, utile pour identifier les comptes inactifs à désactiver ou supprimer.


🔧 Travaux Pratiques (1h50)

Contexte du TP

Vous êtes technicien chez InnovatTech SARL (35 salariés). Le responsable vous demande de mettre en place le premier contrôleur de domaine, de structurer l'annuaire et d'automatiser la création des comptes utilisateurs pour la rentrée des nouveaux employés.

Objectif

Déployer win-srv01 comme DC racine de la forêt innovattech.local, créer la structure OU complète et importer 10 comptes utilisateurs depuis un fichier CSV. Créer trois groupes : IT-Admins, RH-Users, Direction.

Prérequis techniques

  • VM win-srv01 avec Windows Server 2022, adresse IP statique 192.168.10.5
  • Accès administrateur local sur win-srv01
  • Module PowerShell ActiveDirectory (disponible après installation AD-Domain-Services)

Étape 1 — Préparer le serveur et installer AD DS

# Sur win-srv01
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
$SecurePwd = Read-Host "Enter DSRM password" -AsSecureString
Install-ADDSForest -DomainName "innovattech.local" -SafeModeAdministratorPassword $SecurePwd -InstallDNS -Force

Vérification : le serveur redémarre ; après redémarrage, exécuter :

Get-Service NTDS
netdom query fsmo

Étape 2 — Créer la structure OU

# Exécuter depuis un compte admin de domaine
New-ADOrganizationalUnit -Name "InnovatTech" -Path "DC=innovattech,DC=local" -ProtectedFromAccidentalDeletion $true
# Puis les sous-OUs : Direction, Informatique, Commercial, RH, IT
# (voir commandes complètes section 2)

Étape 3 — Préparer le fichier CSV

Placer le fichier users.csv sur C:\Temp\users.csv :

GivenName,Surname,SamAccountName,Password,OU
Alice,Durand,adurand,P@ssw0rd!2023,"OU=Commercial,OU=InnovatTech,DC=innovattech,DC=local"
Paul,Moreau,pmoreau,P@ssw0rd!2023,"OU=Informatique,OU=InnovatTech,DC=innovattech,DC=local"
# ... ajouter 8 autres comptes similaires

Étape 4 — Script PowerShell d'import

Import-Module ActiveDirectory
$users = Import-Csv C:\Temp\users.csv

foreach ($u in $users) {
  $pwd = ConvertTo-SecureString $u.Password -AsPlainText -Force
  New-ADUser `
    -Name           ("$($u.GivenName) $($u.Surname)") `
    -GivenName      $u.GivenName `
    -Surname        $u.Surname `
    -SamAccountName $u.SamAccountName `
    -UserPrincipalName ("$($u.SamAccountName)@innovattech.local") `
    -AccountPassword $pwd `
    -Enabled        $true `
    -Path           $u.OU
}

Vérification :

Get-ADUser -Filter * |
  Where-Object { $_.SamAccountName -in ($users.SamAccountName) } |
  Select-Object Name,SamAccountName,DistinguishedName

Étape 5 — Créer les groupes et affecter des membres

New-ADGroup -Name "IT-Admins"  -GroupScope Global -GroupCategory Security -Path "OU=Informatique,OU=InnovatTech,DC=innovattech,DC=local"
New-ADGroup -Name "RH-Users"   -GroupScope Global -GroupCategory Security -Path "OU=RH,OU=InnovatTech,DC=innovattech,DC=local"
New-ADGroup -Name "Direction"  -GroupScope Global -GroupCategory Security -Path "OU=Direction,OU=InnovatTech,DC=innovattech,DC=local"

# Ajouter des membres
Add-ADGroupMember -Identity "IT-Admins" -Members "pmoreau","jmartin"

Livrable attendu

  • Fichier users.csv et script import-users.ps1 dans C:\Temp\
  • Export des OUs : Get-ADOrganizationalUnit -Filter * | Select Name,DistinguishedName
  • Preuve de création des comptes : capture de Get-ADUser ... | Format-Table
  • Liste des groupes et membres : Get-ADGroup -Filter * | Get-ADGroupMember

Critères de réussite

  • win-srv01 est promu DC et répond aux requêtes LDAP/DNS
  • ☐ La structure OU InnovatTech et ses sous-OUs existent et sont protégées
  • ☐ 10 comptes utilisateurs ont été importés et sont activés
  • ☐ 3 groupes ont été créés et contiennent les membres assignés

Synthèse de séance (10 min)

Cette séance a couvert le pourquoi et le comment du déploiement d'un contrôleur de domaine Windows Server 2022, montré la logique de structuration de l'annuaire par OUs, et présenté des opérations d'administration courantes automatisables en PowerShell. En une phrase : un annuaire bien structuré et automatisé réduit le risque d'erreur humaine et facilite l'application cohérente des politiques de sécurité.

💡 À retenir

Un Active Directory bien conçu s'articule autour de trois axes : une forêt/domaine correctement dimensionné, une structure OU alignée sur l'organisation et la délégation, et une automatisation PowerShell pour toute opération répétitive. C'est cette combinaison qui vous protège des incidents comme NotPetya.

❓ Question de vérification

En une phrase, décrivez le rôle du RID Master et pourquoi il est important dans un domaine AD.


🎮 Quiz — Testez vos connaissances

  1. Quelle commande PowerShell permet d'afficher les cinq rôles FSMO d'un domaine Active Directory ?
  2. Lors de la promotion d'un serveur en DC, à quoi sert le paramètre -InstallDNS dans Install-ADDSForest ?
  3. Pourquoi est-il recommandé d'activer l'option -ProtectedFromAccidentalDeletion lors de la création d'une OU ?
  4. Quelle cmdlet PowerShell permet de déplacer un objet AD d'une OU vers une autre ?
  5. Dans la PME InnovatTech, quel rôle FSMO est le plus critique à surveiller sur un seul DC, et pourquoi ?
📝 Afficher les corrections
  1. netdom query fsmo — Cette commande classique liste les cinq rôles FSMO et le DC qui les détient. En PowerShell pur on peut aussi utiliser (Get-ADDomain).PDCEmulator et équivalents.
  2. Il installe et configure le rôle DNS intégré à AD — Sans ce paramètre, il faudrait configurer manuellement un DNS externe ; avec lui, le DC se sert lui-même en DNS, ce qui est la configuration recommandée pour une PME à DC unique.
  3. Pour éviter une suppression accidentelle de l'OU et de tous ses objets — Sans cette protection, un administrateur peut effacer l'OU en quelques clics, emportant tous les comptes et GPO rattachés. La protection requiert de désactiver explicitement la case dans les propriétés ADUC avant toute suppression.
  4. Move-ADObject -Identity <DN_source> -TargetPath <DN_dest> — La cmdlet Move-ADObject prend le Distinguished Name complet de l'objet source et le chemin de la destination. Elle peut déplacer tout type d'objet AD (utilisateur, groupe, ordinateur).
  5. Le PDC Emulator — Dans un domaine à DC unique il porte tous les rôles, mais le PDC Emulator est le plus critique en production car il synchronise l'horloge, gère la politique de mots de passe et traite les changements de mots de passe en temps réel. Une panne du PDC Emulator provoque rapidement des erreurs d'authentification et de synchronisation.