FSMO-Rollen übertragen mit PowerShell

    Übertragen des Betriebsmasters (=RID-Masters) in Active Directory-Benutzer und -Computer.Das dezentrale Multi-Master-Modell des Active Directory kennt fünf Funktionen, die zentral von einem Domänen-Controller verwaltet werden müssen, um Replikationskonflikte zu vermeiden. Diese Rollen der Operations Masters, auch FSMO-Rollen genannt, können bei Bedarf auf andere Domain Controller übertragen werden. Das flexibelste Verfahren bietet dabei PowerShell.

    Es kann aus verschiedenen Gründen nötig sein, die FSMO-Rollen auf andere DCs zu übertragen. Dieser Fall tritt beispielsweise ein, wenn man die Funktionsebene der Domäne anheben möchte und dafür Domänen-Controller mit einer neueren Version von Windows Server in Betrieb nimmt. Es kann aber auch sein, dass der ursprüngliche Inhaber der FSMO-Rollen nicht mehr erreichbar ist, so dass man sie zwangsweise übernehmen muss ("Seizing").

    Vorteile von PowerShell gegenüber ntdsutil und MMC

    Die 5 FSMO-Rollen sind RID-, Infrastruktur-, Schema- und Domain-Naming-Master sowie PDC-Emulator (siehe dazu: Die FSMO-Rollen im Active Directory). Jede davon wird getrennt übertragen, wobei dafür traditionell das Kommandozeilen-Tool ntdsutil.exe oder MMC-Snap-ins zur Verfügung standen.

    Seit Windows Server 2008 R2 kann man für diese Aufgabe auch PowerShell verwenden. Während Microsoft empfiehlt, ntdsutil.exe auf dem DC auszuführen, auf den die jeweilige Rolle transferiert werden soll, lässt sich PowerShell auch von einer Workstation aus remote nutzen.

    Im Vergleich zu PowerShell sind die GUI-Tools umständlich, weil man gleich mehrere davon braucht (Active Directory-Benutzer und -Computer, Active Directory-Domänen und Vertrauens­stellungen) und Active Directory-Schema vor dem ersten Einsatz erst als Snap-in registriert werden muss. Zudem darf man sich erst mit den eigenwillig übersetzten Namen der FSMO-Rollen zurechtfinden.

    Move-ADDirectoryServerOperationMasterRole

    In PowerShell ist das Cmdlet mit dem monströsen Namen Move-ADDirectoryServerOperationMasterRole für die Übertragung der FSMO-Rollen zuständig. Dank der Unterstützung von Type-ahead reicht es aber, wenn man move-add eingibt und dann zweimal die TAB-Taste drückt. Das Cmdlet gehört zum ActiveDirectory-Modul, das mit den RSAT installiert wird. In PowerShell 2.0 muss man es erst mit dem Befehl

    Import-Module ActiveDirectory

    laden, in PowerShell 3.0 kann dies dank Module-Autoloading unterbleiben.

    Im einfachsten Fall übergibt man dem Cmdlet den Namen des Servers, der die FSMO-Rolle(n) erhalten soll sowie die Namen der betreffenden Rollen, in diesem Beispiel die des RID-Master:

    Move-ADDirectoryServerOperationMasterRole -Identity <Neuer-Operations-Master> `
    -OperationMasterRole RIDMaster

    Bei Bedarf kann man für OperationMasterRole mehrere Rollen auf einmal in Form einer Komma-separierten Liste angeben, also etwa -OperationMasterRole RIDMaster, PDCEmulator, InfrastructureMaster, SchemaMaster, DomainNamingMaster.

    Alternativ lassen sich für die Rollen numerische Werte angeben, aber bei solch kritischen Operationen ist günstiger, bei sprechenden Bezeichnungen zu bleiben, um Verwechslungen vorzubeugen.

    Erforderliche Rechte

    Da für die Übertragung der FSMO-Rollen jeweils spezifische Rechte erforderlich sind, muss man unter Umständen ein anderes Konto für die Ausführung des Befehls verwenden. Dessen Anmeldedaten kann man über den Parameter -Credentials mitgeben. Er akzeptiert entweder einen Benutzernamen und das Cmdlet fragt dann dem Passwort, oder man übergibt ein Credentials-Objekt.

    Die Rollen Schema- und Domain-Naming-Master erfordern zusätzliche Rechte, sonst scheitert ihre Übertragung.

    Um die FSMO-Rollen RIDMaster, PDCEmulator und InfrastructureMaster zu übertragen, muss man ein Konto nutzen, das Mitglied der Domänen-Admins ist. Nachdem die zwei restlichen Rollen SchemaMaster und DomainNamingMaster die Gesamtstruktur betreffen, sind für sie andere Rechte nötig, die durch die Mitgliedschaft in den Gruppen Schema-Admins bzw. Organisations-Admins erworben werden.

    Rollen zwangsweise übertragen (Seizing)

    Das PowerShell-Cmdlet Move-ADDirectoryServerOperationMasterRole ist auch in der Lage, die FSMO-Rollen auf einen neuen Domain Controller zu übertragen, wenn der bisherige Inhaber der betreffenden Rollen nicht mehr verfügbar ist. Die Aufrufe erfolgen nach dem gleichen Muster wie bei einem normalen Transfer, nur mit dem Unterschied, dass man zusätzlich den Parameter -force angeben muss.

    Dieses Seizing sollte man nur in Erwägung ziehen, wenn der alte DC wirklich nicht mehr funktionsfähig ist. Nach dem Übertragen von FSMO-Rollen darf der alte Inhaber nicht mehr mit dem Netzwerk verbunden werden.

    Ergebnisse überprüfen

    Wenn man FSMO-Rollen auf einen anderen Domänen-Controller übertragen hat, dann möchte man sich wahrscheinlich davon überzeugen, ob die Operation erfolgreich verlaufen ist.

    Zwar macht sich PowerShell deutlich bemerkbar, wenn etwa der Aufruf fehlerhaft ist oder es an den erforderlichen Rechten mangelt, aber es schadet nicht, wenn man explizit die neue Rollenverteilung anzeigt. Am einfachsten geht dies über netdom query fsmo /domain:<name-der-domäne>.

    Keine Kommentare