FSMO Rollen umziehen
PowerShell
Bevor man eine FSMO Rolle umziehen kann, muss man ermitteln, welcher Domain Controller welche FSMO Rolle hält. Dies geht in der PowerShell über Get-ADForest
Cmdlet (für Domain Naming Master und Schema Master), bzw. das Get-ADDomain
Cmdlet (für Infrastructure Master, RID Master und PDC Emulator). Um die Halter mehrerer FSMO-Rollen anzuzeigen, werden die FSMO Rollen Namen einfach Komma-separiert angegeben.
Get-ADForest <Forest-Name> | Select-Object <FSMO-Role-Name> Get-ADDomain <Domain-Name> | Select-Object <FSMO-Role-Name>
Mögliche Werte für FSMO Rollen in der PowerShell sind:
InfrastructureMaster
DomainNamingMaster
PDCEmulator
RIDMaster
SchemaMaster
Etwas komplizierter – aber man kann das ja scripten – lassen sich alle FSMO-Rollen-Halter über das Get-ADDomainController
Cmdlet ausgeben, bzw. es werden die DCs mit ihren jeweiligen Rollen ausgegeben:
Get-ADDomainController -Filter * | Select-Object Name,Domain,Forest,OperationMasterRoles | Where-Object {$_.OperationMasterRoles} | Format-Table -AutoSize
Über das Cmdlet Move-ADDirectoryServerOperationMasterRole
lassen sich dann alle FSMO-Rollen per PowerShell von einem Domain Controller auf einen anderen Domain Controller umziehen.
Beispiel: Infrastructure Master Rolle
Move-ADDirectoryServerOperationMasterRole -Identity <Domaincontroller-Name> -OperationMasterRole InfrastructureMaster
Komma-separiert lassen sich so auch mehrere oder alle FSMO Rollen auf einen anderen Domain Controller umziehen:
Move-ADDirectoryServerOperationMasterRole -Identity <Domaincontroller-Name> -OperationMasterRole InfrastructureMaster,RIDMaster,DomainNamingMaster,PDCEmulator,SchemaMaster
Für den Fall des Ausfalls eines Domain Controllers, der eine FSMO Rolle hält, kann von einem noch laufenden Domain Controller aus die betroffene FSMO Rolle „an sich gezogen“ werden. Hierzu wird über die PowerShell das Move-Cmdlet mit dem Parameter -force gestartet.
Beispiel: Infrastructure Master Rolle
Move-ADDirectoryServerOperationMasterRole -Identity <Domaincontroller-Name> -OperationMasterRole InfrastructureMaster -force
Komma-separiert lassen sich so auch hier mehrere oder alle FSMO Rollen zwangsweise auf einen anderen Domain Controller umziehen:
Move-ADDirectoryServerOperationMasterRole -Identity <Domaincontroller-Name> -OperationMasterRole InfrastructureMaster,RIDMaster,DomainNamingMaster,PDCEmulator,SchemaMaster -force
NTDSUTIL
Auch bei dieser Variante muss man ermitteln, welcher Domain Controller welche FSMO Rolle hält, bevor man eine FSMO Rolle umzieht. Am einfachsten geht dies über die CLI mit einem NETDOM Befehl:
netdom /query FSMO
Über das Tool NTDSUTIL lassen sich dann alle FSMO-Rollen per CLI von einem Domain Controller auf einen anderen Domain Controller umziehen. Hierzu wird die entsprechende Rolle mit der transfer-Option verschoben.
Beispiel: Infrastructure Master Rolle
ntdsutil ntdsutil: roles fsmo maintenance: connections server connections: connect to server <DomainController> server connections: q fsmo maintenance: transfer infrastucture master
Mögliche Werte für FSMO Rollen in NTDSUTIL sind:
infrastructure master
naming master
pdc
rid master
schema master
Batch-Script: ALLE FSMO Rollen auf einen anderen Domain Controller umziehen:
@ECHO OFF REM Seize all FSMO Server roles via script NTDSUTIL roles "connections" "connect to server <DomainController>" quit "transfer naming master" "transfer infrastructure master" "transfer PDC" "transfer RID master" "transfer schema master" quit quit
Für den Fall des Ausfalls eines Domain Controllers, der eine FSMO Rolle hält, kann von einem noch laufenden Domain Controller aus die betroffene FSMO Rolle „an sich gezogen“ werden. Hierzu wird über die CMD das Tool NTDSUTIL gestartet und der Umzug mit seize-Option durchgeführt.
Beispiel: Infrastructure Master Rolle
ntdsutil ntdsutil: roles fsmo maintenance: connections server connections: connect to server <DomainController> server connections: q fsmo maintenance: seize infrastucture master
Batch-Script: ALLE FSMO Rollen mit Zwang auf einen anderen Domain Controller umziehen:
@ECHO OFF REM Seize all FSMO Server roles via script NTDSUTIL roles "connections" "connect to server <DomainController>" quit "seize naming master" "seize infrastructure master" "seize PDC" "seize RID master" "seize schema master" quit quit