AD-Management mit der Powershell

Active-Directory-Installation mit Server 2012 R2/2016

| Autor / Redakteur: Thomas Joos / Andreas Donner

Domänencontroller lassen sich auch prima mit der PowerShell verwalten.
Domänencontroller lassen sich auch prima mit der PowerShell verwalten. (Bild: Microsoft)

Mit „Windows Server 2016“ können „Active Directory“-Binärdateien problemlos über die „Powershell“ installiert und neue Domänen, Gesamtstrukturen oder Domänencontroller aufgesetzt werden. Das geht zwar auch schon mit Server 2012 R2, mit Server 2016 sollte man sich das Thema AD-Verwaltung über die Powershell aber auf jeden Fall ansehen.

In der Powershell lassen sich Domänencontroller auf Core-Servern installieren. Natürlich besteht auch auf herkömmlichen Servern die Möglichkeit, die Powershell für die Installation von Active Directory zu verwenden. Das ist insbesondere für Administratoren sinnvoll, die Domänencontroller über WAN-Leitungen installieren möchten. Hier klappt die Installation wesentlich schneller, wenn die Powershell verwendet wird.

Im folgenden Beitrag zeigen wir die einzelnen Schritte, um einen Windows Server 2016 zu einem Domänencontroller einer neuen Active Directory-Gesamtstruktur heraufzustufen.

Active Directory-Binärdateien installieren

Ob die Binärdateien bereits auf dem Core-Server oder herkömmlich installiert sind, lässt sich mit dem CMDlet „get-windowsfeature“ anzeigen. Auf diesem Weg lässt sich in der Powershell anzeigen, welche Serverdienste bereits installiert sind (siehe: Abbildung 1).

Installieren lassen sich die Binärdateien von Active Directory mit dem Befehl „install-windowsfeature AD-domain-services“ (siehe: Abbildung 2). Die erfolgreiche Installation lässt sich wiederum mit "get-windowsfeature" überprüfen.

Erstellen einer neuen Active Directory-Gesamtstruktur in der Powershell

Eine neue Gesamtstruktur wird mit dem Befehl "Install-AdddnssForest" installiert. Mit verschiedenen Optionen lassen sich die Daten der Gesamtstruktur mitgeben, um eine Domäne zu installieren. Eine typische Testumgebung sieht folgendermaßen aus:

Install-ADDSForest
-CreateDnsDelegation:$false
-DatabasePath "C:\Windows\NTDS"
-DomainMode "Win2012R2"
-DomainName "testdom.int"
-DomainNetbiosName "testdom"
-ForestMode "Win2012R2"
-InstallDns:$true
-LogPath "C:\Windows\NTDS" `
-NoRebootOnCompletion:$false
-SysvolPath "C:\Windows\SYSVOL"
-Force:$true

Wird der Befehl ausgeführt, müssen Anwender nur noch das Kennwort für den Verzeichnisdienstwiederherstellungsmodus eingeben. Anschließend werden die Domäne und die Gesamtstruktur erstellt und die Testumgebung steht zur Verfügung. Während der Installation der Gesamtstruktur wird der Server automatisch neu gestartet.

Anschließend ist die Domäne einsatzbereit. Im Rahmen der Installation wird auf dem Server auch der DNS-Dienst installiert. Nachdem der Server zum Domänencontroller heraufgestuft wurde, wird die DNS-Zone der Domäne automatisch mit sicheren DNS-Updates konfiguriert (siehe: Abbildung 3). Das heißt, es können sich zwar neue Clients in der DNS-Zone registrieren, aber nur dann, wenn sie Mitglied der Domäne sind.

Neue Domänencontroller in bestehende Domänen installieren

Um einen neuen Domänencontroller in einer bestehenden Domäne zu installieren, verwenden Administratoren das Cmdlet "Install-ADDSDomainController". Damit der Befehl funktioniert, müssen der Namen der Domäne mitgegeben und das Kennwort für den Verzeichnisdienst-Wiederherstellungsmodus als SecureString konfigurieret werden:

Install-ADDSDomainController -Domainname <DNS-Name der Domäne> -SafeModeAdministratorPassword (read-host -prompt Kennwort -assecurestring)

Server umbenennen und Mitglieds-Server in die Domäne aufnehmen

Standardmäßig wird der Server mit dem Namen als Domänencontroller registriert, den er automatisch beim Start erhält. Administratoren können den Server in der Powershell aber auch umbenennen. Dazu wird der Befehl „Rename-Computer -Name [Computername]“ verwendet. Nachdem der Server zum Domänencontroller heraufgestuft wurde, ist ein Umbenennen nicht mehr möglich. Um den Server danach neu zu starten, kann ebenfalls die Powershell verwendet werden. Als CMDlet verwendet man hier „Restart-Computer“.

In der Powershell können Administratoren aber nicht nur Domänencontroller erstellen, sondern auch Clients als Mitgliedscomputer in die Domäne aufnehmen. Dazu wird das CMDlet „Add-Computer -DomainName [Domänenname]“ verwendet.

Informationen zu Domänencontrollern auslesen

Um sich die Domänencontroller im Netzwerk anzuzeigen, reicht es aus, wenn man den Befehl „Get-ADDomainController“ eingibt (siehe: Abbildung 4). Dadurch erhalten Systemverwalter nicht nur den Namen, sondern auch Informationen zur Domäne, Organisationseinheit, GUID, IP-Adresse, FSMO-Rollen und mehr.

Wie alle CMDlets kann dieses CMDlet auch formatiert angezeigt werden, in dem der Befehl „Get-ADDomainController |fl“ genutzt wird, und dahinter die Spalten, die angezeigt werden sollen (siehe Abbildung 4). Wollen Administratoren zum Beispiel nur den Namen, das Betriebssystem, die IP-Adresse und die installierten FSMO-Rollen anzeigen lassen, verwenden sie folgenden Befehl (siehe auch Abbildung 4):

Get-ADDomainController |fl hostname, IPV4Address, OperationMasterroles, OperatingSystem

Mit „|ft“ zeigt man die Informationen als formatierte Tabelle an. Bei dem CMDlet haben Administratoren auch die Möglichkeit, die Anzeige zu filtern. Ein Beispielfilter ist das Anzeigen von schreibgeschützten Domänencontrollern:

Get-ADDomainController -Filter {isreadonly -eq $true}

Um die schreibgeschützten Domänencontroller auszublenden wird das folgende CMDlet verwendet:

Get-ADDomainController -Filter {isreadonly -eq $false}

Gemäß dieser Syntax kann man auch nach allen anderen Feldern filtern lassen, die sich über „Get-ADDomainController“ anzeigen lassen. Dazu wird einfach die Option „-Filter“ und der Namen der Spalte in geschweiften Klammern, zusammen mit der Option, ob der Filter zutreffen ($true) oder nicht zutreffen ($false) soll, verwendet.

In diesem Zusammenhang ist auch die Spalte „IsGlobalCatalog“ interessant, da hier nach globalen Katalogen gefiltert werden kann. Das ist vor allem in größeren Umgebungen interessant.

FSMO-Rollen in der Powershell auslesen

Die Filter sind zum Beispiel auch interessant, um aus Spalten Informationen als Text auszulesen. In der Spalte „OperationMasterroles“ werden alle FSMO-Rollen von Domänencontrollern angezeigt. Will man aber nach der Anzeige filtern, also zum Beispiel nur die PDC-Master anzeigen lassen, verwendet man:

Get-ADDomainController -Filter {OperationMaster-Roles -like "PDC*"}

Sollen nur die Namen und die installierten Betriebsmaster angezeigt werden, ergänzt man das CMDlet noch mit:

|fl Hostname, OperationMasterroles

Domänencontroller an Standorte verschieben

Administratoren haben auch die Möglichkeit, die Ergebnisse eines „Get-CMDlets“ an ein anderes CMDLet weiterzugeben, das Konfigurationen ändert. Beispiel dafür ist das Verschieben an einen anderen Standort:

Get-ADDomainController <Name des Servers> | Move-ADDirectoryServer -Site <Name des Standor-tes>

Domänen und Gesamtstrukturen abfragen

Zudem können über die Powershell auch Daten einzelner Domänen abgefragt werden. Dazu verwendet man das CMDlet „Get-ADDomain“. Das CMDlet „Get-ADForest“ zeigt Informationen zu Gesamtstrukturen an. Auch hier kann nach den Spalten auf den gleichen Wegen gefiltert werden, wie bei „Get-ADDomainController“. Sinnvoll ist das CMDlet, wenn die FSMO-Rollen pro Domäne angezeigt werden sollen. In jeder Domäne gibt es die drei FSMO-Rollen des folgenden CMDlets:

Get-ADDomain | Select InfrastructureMaster, RID-Master, PDCEmulator

Schemamaster und Domänennamenmaster gibt es nur einmal pro Gesamtstruktur. Diese Informationen lassen sich wiederum mit dem CMDlet „Get-ADForest“ anzeigen (siehe: Abbildung 5):

Get-ADForest | Select-Object DomainNamingMaster, SchemaMaster

FSMO-Rollen verschieben

Betriebsmasterrollen lassen sich in der Powershell auf andere Domänencontroller verschieben. Das passende CMDlet dazu ist:

Move-ADDirectoryServerOperationMasterRole

Mit „get-help Move-ADDirectoryServerOperationMasterRole“ lassen sich die umfassende Syntax und einige Beispiele für das CMDlet anzeigen.

*Der Autor:

Thomas Joos ist freier Autor, schreibt die Windows-handbücker bei Microsoft Press und bloggt auf DataCenter-Insider über Admin-Themen: Toms Admin-Blog.

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43783863 / Middleware)