# Migrazione AD

## Da WS2016 a WS2025

### Struttura esistente

- DC2016 WS 2016 Standard, detentore dei ruoli FSMO con indirizzo IP 10.0.2.10

```cmd
C:\Users\Administrator>netdom query fsmo
Schema master               DC2016.domain.lab
Domain naming master        DC2016.domain.lab
PDC                         DC2016.domain.lab
RID pool manager            DC2016.domain.lab
Infrastructure master       DC2016.domain.lab
The command completed successfully.
```

- DC02 WS 2016 Standard, con indirizzo IP 10.0.2.11
- Client W11 a dominio

```cmd
C:\Users\dale>echo %logonserver%
\\DC2016
```

- Utente `dale`
- Dominio: `domain.lab`

- Il DC2016 sará sostituito da un nuovo server DC03 con WS 2025, perché ormai obsoleto

### Configurazione WS2025

- Impostare indirizzo IP statico 10.0.2.12
- Impostare come server DNS il DC2016
- Eseguire il join nel dominio esitente
- Aggiungere su DC03, che per ora risulta essere una semplice macchina membro del dominio, il ruolo `Active Directory Domain Services`
- Promuovere DC03 a domain controller del dominio esistente `domain.lab`. La procedura é la medesima di quella per aggiungere un secondo DC a un dominio giá esistente

> Nel caso si riscontrasse l'errore `Unable to verify whether schema master has completed a replication cycle after last reboot. Exception: Unavailable Critical Extension` durante la promozione del nuovo DC, basta eseguire il seguente comando sul domain controller principale `repadmin /syncall /AdeP` e riavviare il wizard

- Modificare i server DNS sui DC nel seguente modo

```txt

## DC2016
DNS primario: server stesso
DNS secondario: DC02
Altri DNS: DC03

## DC02
DNS primario: server stesso
DNS secondario: DC2016
Altri DNS: DC03

## DC03
DNS primario: server stesso
DNS secondario: DC2016
Altri DNS: DC02
```

### Migrazione dei ruoli FSMO

- Dal DC2016, aprire `dsa.msc`, cliccare col tasto DX sul dominio `domain.lab`, quindi `Change Domain Controller`

![change-dc](asset/img/change-dc.png)

- Selezionare DC03 e cliccare OK
- Ora é come se fossimo sul DC03. Cliccare col tasto DX sul dominio `domain.lab`, quindi `Operations Masters`
- Cliccare su `Change` per trasferire i ruoli `RID`, `PDC` e `Infrastructure` da DC2016 a DC03

![change-roles-schema](asset/img/change-roles-schema.png)

- Ora mancano solo i ruoli `Schema Master` e `Domain naming Master` da spostare sul DC03

```cmd
C:\Users\Administrator>netdom query fsmo
Schema master               DC2016.domain.lab
Domain naming master        DC2016.domain.lab
PDC                         DC03.domain.lab
RID pool manager            DC03.domain.lab
Infrastructure master       DC03.domain.lab
The command completed successfully.
```

- Da `Active Directory Domain and Trusts`, cliccare col tasto DX su `Active Directory Domain and Trusts` e selezionare `Operations Masters`
- Cliccare su `Change` per migrare il ruolo di `Domain naming Master` dal DC2016 al DC03
- Per migrare lo `Schema Master`, aprire il cmd e digitare

```cmd
regsvr32 schmmgmt.dll
```

- Questo comando permette di aggiungere lo snap-in `Active Directory Schema` alla Console Root (`mmc`)
- Aprire quindi `mmc`
- Da `File > Add/Remove Snap-in`, aggiungere lo snap-in `Active Directory Schema`

![active-directory-schema-snap-in](asset/img/active-directory-schema-snap-in.png)

- Cliccare col tasto DX su `Active Directory Schema`, quindi `Change Domain Controller` ee selezionare DC03
- Cliccare col tasto DX su `Active Directory Schema > Operations Masters` e `Change` per trasferire il ruolo di Schema Master a DC03
- Dal DC03 possiamo verificare che tutti i ruoli siano stati migrati

```cmd
C:\Users\administrator.DOMAIN>netdom query fsmo
Schema master               DC03.domain.lab
Domain naming master        DC03.domain.lab
PDC                         DC03.domain.lab
RID pool manager            DC03.domain.lab
Infrastructure master       DC03.domain.lab
The command completed successfully.
```

> Nel caso di problemi nel corso della migrazione, per forzare la migrazione dei ruoli, basta eseguire sul DC2016 il seguente comando, dopo aver controllato che il server stesso sia anche il server DNS principale

![force-roles-migration](asset/img/force-roles-migration.png)

- Riavviare DC03
- Sul client, impostare come DNS principale DC03
- Riavvviare il client e verificare che il login avvenga correttamente
- Verificare il logon server col comando:

```cmd
C:\Users\dale>echo %logonserver%
\\DC03
```

> Ora é consigliato spegnere il vecchio DC per qualche tempo, non piú di 180 giorni e verificare che sia tutto a posto. Successivamente, procedere col demote

### Demote WS2016

- Dopo esserci assicurati che la migrazione sia avvenuta con successo, procedere col demote DC obsoleto
- Da DC03, rimuovere i DNS secondari
- Da DC2016, eseguire la procedure di [demote](./011-dc-demote.md). Pulire anche i record DNS
- Togliere la macchina dal dominio e procedere con l'archiviazione
- La medesima procedura, in questo laboratorio, puó essere fatta con DC02
