Upgrade domain controller a Windows Server 2016 Parte 3 di 4

Con l’uscita di Windows Server 2016 molte infrastrutture prenderanno la decisione di aggiornare i propri Domain Controller in particolar modo se ancora ne hanno alcuni basati su Windows Server 2003. La dismissione dei Domain Controller Windows Server 2003 consente infatti di trarre vantaggio dalle numerose funzionalità che sono state introdotte in Active Directory rispetto a Windows Server 2003 che rappresenta la versione di sistema operativo più datata da cui è ancora possibile eseguire la migrazione. Nel terzo dei quattro articoli sull’analisi le problematiche relative all’aggiornamento di un’infrastruttura Active Directory basata su Domain Controller Windows Server 2003 verrà analizzato il demote di un Domain Controller Windows Server 2003.

Il primi due articoli sono disponibili ai seguenti link:

Argomenti

  • Operazioni preliminari per il demote di un Domain Controller Windows Server 2003
  • Spostamento dei ruoli Flexible Single Master Operations sul Domain Controller Windows Server 2016
  • Rimozione del ruolo di Global Catalog dal Domain Controller Windows Server 2003
  • Configurazione delle impostazioni di rete per il Domain Controller Windows Server 2003
  • Rimozione del server DNS dal Domain Controller Windows Server 2003
  • Demote del Domain Controller Windows Server 2003
  • Eliminazione dell’oggetto server relativo al Domain Controller Windows Server 2003 dal Sito
  • Rimozione e correzione dei record DNS relativi al Domain Controller Windows Server 2003
  • Verifica della funzionalità di Active Directory
  • Rimozione del server Windows Server 2003
  • Conclusioni

Operazioni preliminari per il demote di un Domain Controller Windows Server 2003

Di seguito lo schema dell’infrastruttura a cui faremo rifermento in cui è presente un DC Windows Server 2016 VSDC2016 e un DC con Windows Server 2003 R2 VSDC2003 che verrà dismesso.

Prima di iniziare la procedura di dismissione del Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) occorre impostare i client in modo che non lo utilizzino più come server DNS e utilizzino invece il nuovo server Windows Server 2016 (VSDC2016 nell’esempio). Questa impostazione generalmente viene distribuita tramite DHCP di conseguenza per evitare problemi ai client durante e dopo la rimozione del Domain Controller Windows Server 2003 sarebbe opportuno attendere che la configurazione sia distribuita col rinnovo del lease DCHP.

Inoltre prima eseguire il demote del Domain Controller Windows Server 2003 eseguire le seguenti operazioni:

  • Creare un backup di Active Directory
  • Configurare il Domain Controller Windows Server 2016 affinché usi se stesso come primo server DNS tramite l’indirizzo IP 127.0.0.1 oppure tramite l’indirizzo IP assegnato (10.10.0.20 nell’esempio), rimuovendo il riferimento al server DNS sul DC Windows Server 2003.
  • Riavviare il Domain Controller Windows Server 2016.

Spostamento dei ruoli Flexible Single Master Operations sul Domain Controller Windows Server 2016

Dal momento che il Domain Controller Windows Server 2016 dovrà sostituire il Domain Controller Windows Server 2003 è necessario spostare su di esso i ruoli FSMO (Flexible Single Master Operations) elencati nella seguente tabella:

Ruolo FSMO

Scope

Diritti necessari per il move

SchemaMaster

Foresta

Schema Admins

Domain Naming Master

Foresta

Enterprise Admins

RID Master

Domino

Domain Admins

PDC Emulator

Domino

Domain Admins

Infrastructure Master

Domino

Domain Admins

E possibile eseguire lo sposamento dei ruoli FSMO tramite PowerShell direttamente dal Domain Controller Windows Server 2016. Di seguito il comando PowerShell per trasferire tutti i ruoli FSMO sul Domain Controller Windows Server 2016 (VMDC2016 nell’esempio):

Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole SchemaMaster, DomainNamingMaster, RIDMaster,InfrastructureMaster,PDCEmulator

In alternativa è anche possibile spostare i ruoli uno alla volta:

Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole SchemaMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole DomainNamingMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole RIDMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole InfrastructureMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole PDCEmulator

Per verificare che lo sposamento dei ruoli FSMO sia avvenuto correttamente è possibile controllare che il seguente evento sia stato registrato 5 volte (uno per ogni ruoli FSMO trasferito):

  • Registro Directory Services – Evento d’informazioni ActiveDirectory_DomainService 1458

Inoltre sempre tramite PowerShell, come visto nel primo articolo, è possibile controllare che i ruoli FSMO risultino assegnati ad Domain Controller Windows Server 2016 (VSDC2016 nell’esempio).

Get-ADForest | Select SchemaMaster, DomainNamingMaster
Get-ADDomain | Select RIDMaster, PDCEmulator, InfrastructureMaster

Rimozione del ruolo di Global Catalog dal Domain Controller Windows Server 2003

Prima di iniziare la procedura di demote del Domain Controller Windows Server 2003 oltre a rimuovere i ruoli FSMO detenuti occorre rimuovere anche il ruolo di Global Catalog come indicato in Demote a domain controller.

Per rimuovere il ruolo di Global Catalog è possibile utilizzare il tool Siti e servizi di Active Directory.

In alternativa è possibile utilizzare il seguente comando Powershell:

Set-ADObject -Identity (Get-ADDomainController -Identity “VSDC2003”).NTDSSettingsObjectDN -Replace @{options=’0′}

Per verificare i global catalog presenti nell’infrastruttura è possibile utilizzare il seguente comando Powershell:

Get-ADForest devadmin.local | FL GlobalCatalogs

Oppure il comando:

Get-ADDomainController -Filter * | Select Name, IsGlobalCatalog

Per verificare che la rimozione del ruolo Global Catalog sia avvenuta correttamente è possibile controllare che siano stato registrati i seguenti eventi:

  • Evento d’informazioni NTDS General 1120 nel Domain Controller Windows Server 2003
  • Evento d’informazioni ActiveDirectory_DomainService 1869 nel Domain Controller Windows Server 2016

Inoltre occorre verificare che il record DNS SRV _gc relativo al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) sia stato rimosso e che sia presente solamente quello relativo al Domain Controller Windows Server 2016 (VMDC2016 nell’esempio), per maggiori informazioni si veda Verify Global Catalog DNS Registrations.

Per verificare i record DNS SRV _gc è anche possibile utilizzare il seguente comando Powershell:

Get-DnsServerResourceRecord -ZoneName “devadmin.local” -RRType “SRV” -Name “_gc._tcp”

Dopo aver rimosso il ruolo di Global Catalog e aver verificato che l’operazione è andata a buon fine riavviare il Domain Controller Windows Server 2003.

Configurazione delle impostazioni di rete per il Domain Controller Windows Server 2003

Per evitare problemi di risoluzione DNS durante il demote occorre configurare il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) affinché usi il Domain Controller Windows Server 2016 (VSDC2012 con IP 10.10.0.20 nell’esempio) come primo server DNS, rimuovendo il riferimento al server DNS sul DC Windows Server 2003

Dopo aver modificato le impostazioni di rete riavviare il server.

Rimozione del server DNS dal Domain Controller Windows Server 2003

Dal momento che il servizio DNS sul Domain Controller Windows Server 2003 (VMDC2003 nell’esempio), non è più di fatto utilizzato all’interno dell’infrastruttura è possibile rimuoverlo tramite Amministrazione Server.

Demote del Domain Controller Windows Server 2003

Avviare il demote eseguendo sul Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) Dcpromo senza specificare che questo è l’ultimo server Domain Controller del dominio, al termine riavviare il server come richiesto.

Nel caso si verifichi l’errore di time out durante l’arresto del servizio NETLOGON, molto probabilmente il Domain Controller Windows Server 2003 non è stato riavviato dopo aver rimosso il ruolo di Global Catalog o non è stato impostato il Domain Controller Windows Server 2016 (VSDC2016 con IP 10.10.0.20 nell’esempio) come server DNS primario. In alternativa potrebbero esserci sul server dei servizi dipendenti da Active Directory che vanno arrestati prima di eseguire il demote. Dopo avere provveduto a risolvere la causa del time out riavviare la procedura di Demote, per maggiori informazioni si veda la KB555078 Netlogon service time out error message while promote domain controller.

Eliminazione dell’oggetto server relativo al Domain Controller Windows Server 2003 dal Sito

Terminata la procedura di demote occorre rimuovere manualmente l’oggetto server relativo al Domain Controller Windows Server 2003 tramite il tool Siti e servizi di Active Directory.

Rimozione e correzione dei record DNS relativi al Domain Controller Windows Server 2003

Il demote del Domain Controller Windows Server 2003 dovrebbe già rimuovere gran parte dei record DNS, ma occorre eseguire alcune operazioni manualmente per quanto riguarda i record NS nel dominio e nel sottodomino _msdcs.

Il sottodominio _msdcs è riservato alla registrazione dei record DNS dei servizi di rete inerenti ai servizi di directory specifici di Microsoft, Active Directory infatti non è altro che l’implementazione Microsoft dei servizi di directory. I client il dominio che interrogano il dominio _msdcs , ad esempio, per un record DNS SRV relativo al servizio LDAP otterranno un record per un server LDAP Microsoft (Domain Controller). Le query verranno eseguite nel formato _Service._Protocol.DcType. _msdcs. DnsDomainName dove DcType sarà il GUID del dominio, _Service l’identificativo del servizio (_ldap per LDAP) e _Protocol l’identificativo del protocollo di rete (_tcp per TCP).

La prima operazione manuale consiste nel controllare che il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) non sia impostato come forwarder e nel caso rimuoverlo.

Di seguito il comando PowerShell per controllare che il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) non sia impostato come forwarder e nel caso rimuoverlo:

Get-DnsServerForwarder

Remove-DnsServerForwarder -IPAddress 10.0.0.10

La seconda operazione manuale consiste nel rimuovere il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dall’elenco dei Server dei nomi per la zona di ricerca diretta del dominio (devadmin.local nell’esempio).

Di seguito il comando PowerShell per rimuovere il record NS (name server) per il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) nella zona del dominio Active Directory (nell’esempio devadmin.local):

Get-DnsServerResourceRecord -zonename “devadmin.local” -RRType “NS” -name “@” | where-object {$_.RecordData.NameServer -match “vsdc2003”} | Remove-DnsServerResourceRecord -zonename “devadmin.local” -name “@”

La terza operazione manuale consiste nel rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio dominio delegato _msdcs sostituendolo con il Domain Controller Windows Server 2016 (VSDC2016 nell’esempio).

Di seguito il comando PowerShell per rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio dominio delegato _msdcs sostituendolo con il Domain Controller Windows Server 2016 (VSDC2016 nell’esempio):

$OldObj = Get-DnsServerResourceRecord -zonename “devadmin.local” -name “_msdcs” -RRType “NS” | where-object {$_.RecordData.NameServer -match “vsdc2003”}

$NewObj = Get-DnsServerResourceRecord -zonename “devadmin.local” -name “_msdcs” -RRType “NS” | where-object {$_.RecordData.NameServer -match “vsdc2003”}

$NewObj.RecordData.NameServer = “vsdc2016.devadmin.local.”

Set-DnsServerResourceRecord -NewInputObject $NewObj -OldInputObject $OldObj -ZoneName “devadmin.local”

La quarta operazione manuale consiste nel rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio _msdcs.

Di seguito il comando PowerShell per rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio _msdcs:

Get-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” -RRType “NS” -name “@” | where-object {$_.RecordData.NameServer -match “vsdc2003”} | Remove-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” -name “@”

Controllare che non esistano altri record DNS che puntino ancora al Domain Controller Windows Server 2003 ad esclusione del record A nella zona del domino (devadmin.local nell’esempio) dal momento che tale server è membro del dominio.

Di seguito i comandi PowerShell per ricavare i record per il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) nella zona del dominio Active Directory (nell’esempio devadmin.local) e nel sottodominio dominio delegato _msdcs:

Get-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” | where-object {$_.RecordData.NameServer -match “vsdc2003”}
Get-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” | where-object {$_.HostName -match “vsdc2003”}
Get-DnsServerResourceRecord -zonename “devadmin.local” | where-object {$_.RecordData.NameServer -match “vsdc2003”}
Get-DnsServerResourceRecord -zonename “devadmin.local” | where-object {$_.HostName -match “vsdc2003”}

Nel caso fossero ancora presenti altri record è possibile eliminarli manualmente o usare il tool a riga Nltest per eliminare i record DNS che un Domain Controller registra:

nltest /dsderegdns:vmdc2003.sysadmin.lan

Terminata la pulizia dei record DNS riavviare il Domain Controller Windows Server 2016.

Verifica della funzionalità di Active Directory

Terminata la dismissione del Domain Controller Windows Server 2003 (VMDC2003 nell’esempio) è opportuno procedere alla verifica del funzionamento di Active Directory dopo aver arestato il Domain Controller dismesso eseguendo i seguenti controlli descritti nell’articolo Upgrade domain controller a Windows Server 2016 Parte 2 di 4:

  • Verifica dell’esistenza delle share NETLOGON e SYSVOL
  • Verifica del servizio DNS
  • Verifica della replica
  • Verifica dei ruoli Flexible Single Master Operations

Come ultimo controllo rieseguire il best practices analyzer che dovrebbe elencare un nuovo avviso relativo all’opportunità di installare un secondo Domain Controller per garantire la ridondanza e l’errore che occorre impostare il Domain Controller Windows Server 2016 (VSDC2016 nell’esempio) per sincronizzare l’ora con una fonte valida dal momento che esegue il ruolo di PDC Emulator (a riguardo si veda AD DS: The PDC emulator master in this forest should be configured to correctly synchronize time from a valid time source).

Di seguito i comandi PowerShell per eseguire il best practices analyzer per i Derectory Services e visualizzare gli errori e warning:

Invoke-BpaModel –ModelID Microsoft/Windows/DirectoryServices

Get-BpaResult –ModelID Microsoft/Windows/DirectoryServices | Where {$_.Severity -ne “Information”}

Rimozione del server Windows Server 2003

Il server Windows Server 2003 (VSDC2003 nell’esempio) può essere rimosso dal dominio arrestato e poi dismesso, quindi è possibile eliminare l’account computer relativo e il record DNS A.

Successivamente è possibile valutare se può essere conveniente attribuire al Domain Controller Windows Server 2016 (VSDC2012 nell’esempio) l’indirizzo IP che aveva il Domain Controller Windows Server 2003 (VSDC2003 con IP 10.10.0.10 nell’esempio). Questa modifica può essere conveniente se nell’infrastruttura vi sono un numero consistente di client, server o host che si riferiscono all’IP del Domain Controller dismesso tramite impostazioni statiche, ad esempio per risolvere le query DNS per gli host del dominio o, nel caso di host non in domino, come NTP server.

Conclusioni

Il demote di un domain controller Windows Server 2013 è un’operazione semplice che però richiede l’esecuzione di una serie di passaggi in una sequenza precisa in modo da evitare disservizi agli utenti. Gran parte delle operazioni può essere svolta dal domain controller Windows Server 2013 sia tramite tool grafici che tramite PowerShell. Terminato il demote occorre verificare controllare lo stato di salute di Active Directory e controllare il servizio DNS. L’upgrade di domain controller Windows Server 2013 per sostituirlo con un domain controller Windows Server 2016 necessità ancora di un ultimo passaggio ovvero della migrazione della replica SYSVOL da FRS a DFS che sarà oggetto del quarto articolo.