В моей домашней тестовой инфраструктуре единственный контроллер домена Active Directory (Domain Controller) и для его обновления (например с Windows Server 2016 до Windows server 2019) я использую такой метод:

В итоге, для клиентов, если на них контроллер был прописан в качестве DNS или как-то еще, ничего не меняется.
Самый важный момент тут - передача ролей FSMO.
Итак. Ролей вcего пять:

Посмотреть какому хосту в данный момент принадлежат роли:

Get-ADDomain
Get-ADForest

Перенести роли можно с помощью powershell по одной:

Move-ADDirectoryServerOperationMasterRole -Identity "NewDC1" PDCEmulator

Либо - сразу несколько:

Move-ADDirectoryServerOperationMasterRole -Identity "NewDC1" PDCEmulator,InfrastructureMaster

Либо даже сразу все и без указания полных имен ролей:

Move-ADDirectoryServerOperationMasterRole -Identity "NewDC1" 0,1,2,3,4

Соответствия номеров именам приведены в табличке:

ИмяНомер
PDCEmulator0
RIDMaster1
InfrastructureMaster2
SchemaMaster3
DomainNamingMaster4