🪟 Séance 1 : Active Directory — Déploiement DC et structure OU
| Formation | BTS SIO option SISR — IRIS Mediaschool |
|---|---|
| Bloc | B2 — Administration Systèmes & Réseaux |
| Module | M2.2 — Services réseau et systèmes |
| Compétences | B2.2 / B2.3 |
| Durée | 3h30 |
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 FSMO | Portée | Fonction |
|---|---|---|
| Schema Master | Forêt | Applique les modifications de schéma au niveau forêt |
| Domain Naming Master | Forêt | Autorise l'ajout/suppression de domaines dans la forêt |
| RID Master | Domaine | Distribue des pools d'identificateurs relatifs (RID) aux DC |
| PDC Emulator | Domaine | Horloge, compatibilité anciens clients, changement de mot de passe immédiat |
| Infrastructure Master | Domaine | Maintient 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
Install-WindowsFeatureinstalle le rôle AD DS et les cmdlets RSAT nécessaires.Install-ADDSForestcrée la forêt et le domaine racine ; le paramètre-InstallDNSajoute 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
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-srv01avec Windows Server 2022, adresse IP statique192.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.csvet scriptimport-users.ps1dansC:\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-srv01est promu DC et répond aux requêtes LDAP/DNS - ☐ La structure OU
InnovatTechet 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é.
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.
En une phrase, décrivez le rôle du RID Master et pourquoi il est important dans un domaine AD.
🎮 Quiz — Testez vos connaissances
- Quelle commande PowerShell permet d'afficher les cinq rôles FSMO d'un domaine Active Directory ?
- Lors de la promotion d'un serveur en DC, à quoi sert le paramètre
-InstallDNSdansInstall-ADDSForest? - Pourquoi est-il recommandé d'activer l'option
-ProtectedFromAccidentalDeletionlors de la création d'une OU ? - Quelle cmdlet PowerShell permet de déplacer un objet AD d'une OU vers une autre ?
- Dans la PME InnovatTech, quel rôle FSMO est le plus critique à surveiller sur un seul DC, et pourquoi ?
📝 Afficher les corrections
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).PDCEmulatoret équivalents.- 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.
- 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.
Move-ADObject -Identity <DN_source> -TargetPath <DN_dest>— La cmdletMove-ADObjectprend 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).- 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.
