Bonjour,
La rétrogradation du niveau fonctionnel d’un domaine ou d’une forêt Active Directory est l’une des questions les plus importantes en administration Windows Server. La réponse est directe et fondamentale : il est impossible de rétrograder un niveau fonctionnel AD une fois qu’il a été élevé, sauf dans des cas très spécifiques. Voici une analyse complète de la situation.
Principe fondamental : l’irréversibilité des niveaux fonctionnels
Active Directory fonctionne sur le principe d’une progression unidirectionnelle des niveaux fonctionnels. Une fois qu’un niveau fonctionnel de domaine (DFL - Domain Functional Level) ou de forêt (FFL - Forest Functional Level) est élevé, il ne peut pas être abaissé par des moyens normaux.
Raison technique : l’élévation du niveau fonctionnel active des fonctionnalités et des schémas qui modifient la structure interne de la base de données AD. Ces modifications ne sont pas réversibles car elles impliqueraient la perte de données ou de fonctionnalités qui pourraient déjà être utilisées.
Niveaux fonctionnels disponibles par version
Niveaux fonctionnels de domaine (DFL)
| Niveau |
Valeur numérique |
Contrôleurs de domaine compatibles |
| Windows Server 2008 |
4 |
WS 2008 et supérieur |
| Windows Server 2008 R2 |
5 |
WS 2008 R2 et supérieur |
| Windows Server 2012 |
6 |
WS 2012 et supérieur |
| Windows Server 2012 R2 |
7 |
WS 2012 R2 et supérieur |
| Windows Server 2016 |
10 |
WS 2016 et supérieur |
| Windows Server 2019 |
10 |
WS 2016/2019 |
| Windows Server 2022 |
10 |
WS 2016/2019/2022 |
Note : Windows Server 2019 et 2022 n’ont pas introduit de nouveau niveau fonctionnel — ils utilisent tous le niveau 10 (WS 2016).
Vérifier le niveau fonctionnel actuel
# Vérifier le niveau fonctionnel du domaine
Get-ADDomain | Select-Object Name, DomainMode
# Vérifier le niveau fonctionnel de la forêt
Get-ADForest | Select-Object Name, ForestMode
# Informations complètes
Get-ADDomain | Select-Object Name, DomainMode, DomainSID
Get-ADForest | Select-Object Name, ForestMode, SchemaMaster, DomainNamingMaster
Exception : la rétrogradation est possible après élévation vers WS 2008 R2 ou supérieur
Microsoft a introduit une exception notable : depuis Windows Server 2008 R2, il est possible de rétrograder le niveau fonctionnel de domaine sous certaines conditions très précises.
Conditions requises pour la rétrogradation
- La rétrogradation ne peut se faire que d’un seul niveau à la fois
- Aucune fonctionnalité exclusive au niveau supérieur ne doit être utilisée (ex : la corbeille AD, les silos d’authentification, etc.)
- Tous les contrôleurs de domaine doivent être compatibles avec le niveau cible
Fonctionnalités bloquantes selon le niveau
| Fonctionnalité |
Niveau requis |
Bloque la rétrogradation vers |
| Corbeille Active Directory |
WS 2008 R2 (DFL) |
WS 2008 |
| Silos de stratégie d’authentification |
WS 2012 R2 (DFL) |
WS 2012 |
| KDC avec support des revendications |
WS 2012 (DFL) |
WS 2008 R2 |
| Chiffrement AES pour Kerberos |
WS 2008 (DFL) |
WS 2003 |
Vérifier si la Corbeille AD est activée (bloque la rétrogradation vers < WS 2008 R2)
# Vérifier si la corbeille AD est activée
$recBin = Get-ADOptionalFeature -Filter {name -like "Recycle Bin Feature"}
if ($recBin.EnabledScopes) {
Write-Host "Corbeille AD activée - rétrogradation vers WS2008 IMPOSSIBLE" -ForegroundColor Red
} else {
Write-Host "Corbeille AD non activée" -ForegroundColor Green
}
Procédure de rétrogradation (si applicable)
Si les conditions sont réunies, voici comment procéder :
Via PowerShell
# Rétrograder le niveau fonctionnel du domaine
# Exemple : passer de Windows2012R2Domain à Windows2012Domain
Set-ADDomainMode -Identity "votre-domaine.fr" -DomainMode Windows2012Domain
# Rétrograder le niveau fonctionnel de la forêt
Set-ADForestMode -Identity "votre-domaine.fr" -ForestMode Windows2012Forest
# Confirmer la modification
Get-ADDomain | Select-Object Name, DomainMode
Via l’interface graphique (Domaines et approbations AD)
- Ouvrez Domaines et approbations Active Directory (
domain.msc)
- Faites un clic droit sur le domaine
- Sélectionnez Augmenter le niveau fonctionnel du domaine
- Si la rétrogradation est possible, vous verrez une option pour sélectionner un niveau inférieur
- Cliquez sur Augmenter (le terme est trompeur, il s’applique aussi à la rétrogradation dans certains contextes)
Important : L’interface graphique peut ne pas proposer explicitement la rétrogradation. Privilégiez PowerShell pour cette opération.
Contexte des clusters Windows Server
Si votre question concerne spécifiquement le niveau fonctionnel d’un cluster de basculement (Failover Cluster) plutôt que celui d’Active Directory, la situation est différente.
Niveau fonctionnel d’un cluster de basculement
Le cluster de basculement Windows Server possède son propre niveau fonctionnel, distinct d’AD :
# Vérifier le niveau fonctionnel du cluster
Get-Cluster | Select-Object Name, ClusterFunctionalLevel
# Voir les niveaux disponibles
# ClusterFunctionalLevel 8 = Windows Server 2012
# ClusterFunctionalLevel 9 = Windows Server 2012 R2
# ClusterFunctionalLevel 10 = Windows Server 2016
# ClusterFunctionalLevel 11 = Windows Server 2019
# ClusterFunctionalLevel 12 = Windows Server 2022
Rétrogradation du niveau fonctionnel d’un cluster
Contrairement à Active Directory, le niveau fonctionnel d’un cluster de basculement ne peut pas être rétrogradé non plus. La seule façon de “rétrograder” est de :
- Documenter la configuration actuelle du cluster
- Détruire le cluster (
Remove-Cluster)
- Recréer le cluster sur des serveurs de la version cible
- Restaurer les rôles en cluster
Alternative à la rétrogradation : création d’un nouveau DC de version inférieure
Si votre objectif est d’introduire un contrôleur de domaine d’une version antérieure dans votre domaine existant (sans rétrograder le niveau fonctionnel), voici les vérifications nécessaires :
# Vérifier si le niveau fonctionnel actuel permet l'ajout d'un DC d'une version antérieure
# Un DC ne peut rejoindre un domaine que si sa version >= niveau fonctionnel du domaine
$domain = Get-ADDomain
Write-Host "Niveau fonctionnel du domaine : $($domain.DomainMode)"
Write-Host "Pour ajouter un DC, sa version doit être >= à ce niveau"
# Lister les DCs existants et leurs versions
Get-ADDomainController -Filter * |
Select-Object Name, IPv4Address, OperatingSystem, OperatingSystemVersion |
Format-Table -AutoSize
Stratégie recommandée : préserver la flexibilité lors des mises à niveau
Pour éviter de se retrouver dans une situation où une rétrogradation est nécessaire, voici les bonnes pratiques :
Avant d’élever le niveau fonctionnel
# Checklist avant élévation du niveau fonctionnel
# 1. S'assurer qu'aucun DC de version ancienne n'existe encore
Get-ADDomainController -Filter * | Select-Object Name, OperatingSystem
# 2. Vérifier la santé de la réplication
repadmin /replsummary
dcdiag /test:replications
# 3. Sauvegarder l'état système de tous les DCs
# (via Windows Server Backup ou solution tierce)
# 4. Documenter le niveau fonctionnel actuel
Get-ADDomain | Select-Object DomainMode | Export-Csv "C:\AD_DFL_before_upgrade.csv"
Get-ADForest | Select-Object ForestMode | Export-Csv "C:\AD_FFL_before_upgrade.csv"
Restauration depuis une sauvegarde (solution ultime)
Si une rétrogradation est absolument indispensable et qu’aucune des méthodes ci-dessus n’est applicable, la seule option restante est une restauration autoritaire depuis une sauvegarde effectuée avant l’élévation du niveau fonctionnel.
Cette opération implique :
- Une restauration autoritaire de l’état du système (Authoritative Restore) sur tous les DCs
- Une coordination précise de la réplication entre tous les contrôleurs
- Un impact potentiellement majeur sur tous les objets AD modifiés depuis la sauvegarde
Avertissement : Une restauration autoritaire en production est une opération à très haut risque. Elle doit être effectuée uniquement par un ingénieur AD expérimenté, avec un plan de rollback documenté et une fenêtre de maintenance planifiée.
Conclusion
En résumé : la rétrogradation d’un niveau fonctionnel Active Directory ou d’un cluster Windows Server n’est pas une opération standard prise en charge. Les rares exceptions concernent des scénarios très précis avec Windows Server 2008 R2+ et uniquement si aucune fonctionnalité exclusive au niveau supérieur n’a été activée.
Pour votre situation spécifique, pourriez-vous préciser : quel niveau fonctionnel actuel cherchez-vous à rétrograder, vers quel niveau cible, et quelle est la raison de cette rétrogradation ? Ces informations me permettront de vous proposer la meilleure approche ou, si la rétrogradation est impossible, une alternative viable pour atteindre votre objectif.