Strategia di migrazione: aggiungere DC, non fare upgrade in place

L’approccio raccomandato per portare AD DS su Windows Server 2022 o 2025 non è l’upgrade in place del sistema operativo di un domain controller esistente, ma l’aggiunta di nuovi DC che eseguono la versione più recente. Si promuove un nuovo server come domain controller nella foresta esistente con Install-ADDSDomainController, si lascia replicare AD e DNS, si trasferiscono i ruoli FSMO al nuovo DC con Move-ADDirectoryServerOperationMasterRole e infine si degrada il vecchio DC. Questo approccio riduce i rischi: la replica multi-master mantiene i dati coerenti e permette un rollback semplice, perché il DC legacy resta online finché la migrazione non è validata. Verifica sempre la salute della replica con repadmin e dcdiag prima di rimuovere il vecchio DC.

adprep e la preparazione dello schema

Prima di introdurre un DC con OS più recente, lo schema della foresta va esteso. adprep /forestprep aggiorna lo schema, si esegue una sola volta per foresta sullo schema master, con un account membro di Schema Admins, Enterprise Admins e Domain Admins. adprep /domainprep si esegue sull’infrastructure master di ogni dominio in cui aggiungerai DC, come Domain Admin. Nelle versioni moderne di Windows Server, quando promuovi il primo DC della nuova versione con Server Manager o Install-ADDSDomainController usando credenziali con i privilegi adeguati, adprep viene eseguito automaticamente. Esegui adprep.exe manualmente (dal supporto di installazione, cartella \support\adprep) quando c’è separazione dei ruoli amministrativi, quando vuoi preparare lo schema in anticipo o quando chi promuove non ha i privilegi di Schema/Enterprise Admins. Per gli RODC esiste adprep /rodcprep.

Domain e forest functional level

Il functional level determina quali versioni di OS possono ospitare DC e quali feature AD sono disponibili. Regola chiave: puoi aggiungere un DC più recente a una foresta con functional level più basso, ma per innalzare il livello tutti i DC devono già eseguire almeno quella versione. Si alza il domain functional level (DFL) con Set-ADDomainMode e il forest functional level (FFL) con Set-ADForestMode; il FFL non può superare il DFL più basso tra i domini. Attenzione: fino a Windows Server 2022 il livello funzionale massimo è rimasto “Windows Server 2016” — 2019 e 2022 non hanno introdotto nuovi livelli. L’innalzamento va trattato come operazione a senso unico: sebbene esista un rollback limitato in certe condizioni, in produzione consideralo irreversibile e dismetti ogni DC di versione inferiore prima di procedere.

DSRM e recovery durante la migrazione

La Directory Services Restore Mode (DSRM) è la modalità di avvio offline per manutenzione e ripristino di AD: restore authoritative e non-authoritative dal backup, defrag offline di ntds.dit, riparazione del database. Ogni DC ha una password DSRM locale impostata alla promozione (parametro SafeModeAdministratorPassword). Durante una migrazione è essenziale documentare e, se necessario, reimpostare questa password con ntdsutil (“set dsrm password”), perché serve per accedere al DC quando AD DS non parte. Ricorda che la password DSRM non replica: è locale a ciascun DC.

Trappole tipiche d’esame

  • Devi passare a Windows Server 2022 senza downtime → aggiungi un nuovo DC e trasferisci i ruoli FSMO: l’upgrade in place è sconsigliato; la migrazione per addizione permette rollback e replica sana.
  • adprep /forestprep dà errore di permessi → account in Schema Admins + Enterprise Admins + Domain Admins: /domainprep richiede invece solo Domain Admins e va eseguito sull’infrastructure master.
  • Vuoi innalzare il FFL ma un DC esegue ancora Windows Server 2012 R2 → prima dismetti o aggiorna quel DC: il livello non sale finché esiste anche un solo DC di versione inferiore.
  • “Devi alzare il functional level per aggiungere un DC 2022” → falso: un DC più recente entra in qualsiasi functional level più basso; alzare il livello non è un prerequisito per aggiungerlo.
  • Non ricordi la password DSRM per un restore → reimpostala con ntdsutil set dsrm password: è locale al DC e non si recupera resettando l’account Domain Admin.
  • Ti aspetti un functional level “Windows Server 2019/2022” → non esiste: il massimo è rimasto “Windows Server 2016”, quindi non è un requisito per introdurre DC più recenti.