Tags: System-Management, Windows Server, PowerShell
Benötigt man für bestimmte Aufgaben mehrere gleich eingerichtete Windows Server, dann kann man das Hinzufügen von Rollen und Features automatisieren. Dazu liest man die Konfiguration einer Musterinstallation aus und überträgt sie mit PowerShell auf weitere Maschinen.
Typische Rollen von Windows Server wie File- und Web-Server oder als Remote Desktop Session Host benötigt man häufig in mehreren Instanzen. Zusätzliche Rechner kommen oft erst nachträglich hinzu, so dass man die Konfiguration einer der bereits vorhandenen Maschine übernehmen will.
Eingeschränkte Exportfunktion von Server Manager
Das GUI-Tool für das Hinzufügen von Rollen und Features ist der Server Manager. Er ist in der Lage, diese Aufgabe auf mehreren Maschinen gleichzeitig zu erledigen. Wenn man also schon von Anfang an weiß, dass man mehrere identisch konfigurierte Server benötigt, dann kann man bestimmte Rollen und Features gleich auf allen Zielmaschinen einrichten.
Darüber hinaus kann er nach Auswahl der gewünschten Features im Wizard die dafür notwendige Installation in Form von PowerShell-Code exportieren (siehe dazu: Konfiguration von Rollen unter Windows Server 2012 exportieren). Dieser lässt sich dann auch auf andere Rechner anwenden.
Hat man bei der Einrichtung der vorhandenen Server aber auf den Export der PowerShell-Anweisungen vergessen, dann bietet der Server Manager später keine Möglichkeit mehr, die Konfiguration zu exportieren, um sie auf einem anderen Rechner zu übernehmen.
Konfiguration auslesen und speichern
In dieser Situation hilft der Einsatz von PowerShell. Sie kann von einer Workstation aus die Konfiguration eines Muster-Servers auslesen und dort in einer XML-Datei speichern:
Get-WindowsFeature -ComputerName WS2012R2-VM1 |
? installed | Export-Clixml ws-config.xml
Dieses Beispiel übernimmt sämtliche installierte Rollen und Features von WS2012R2-VM1 in die Datei ws-config.xml. Möchte man nicht alle davon auf den neuen Server übertragen, dann kann man sie nach verschiedenen Kriterien filtern.
Rollen und Feature installieren
Die gegenteilige Operation, nämlich das Hinzufügen von Rollen und Features, erfolgt über Install-WindowsFeature. Bevor man dieses Cmdlet aufruft, sollte der frisch installierte Ziel-Server der Domäne beitreten, um Probleme mit WinRM zu vermeiden.
Der Befehl akzeptiert einen Parameter namens ConfigurationFilePath. Er eignet sich aber nicht, um die weiter oben erzeugte XML-Datei zu verarbeiten, sondern beschränkt sich auf jene, die man aus dem Wizard des Server Manager exportiert.
Aus diesem Grund greift man zu Import-Clixml, um die Konfiguration an Install-WindowsFeature über eine Pipe durchzureichen:
Import-Clixml .\ws-config.xml |
Install-WindowsFeature -ComputerName WS2012R2-VM3 -WhatIf
Dieses Beispiel verwendet den Schalter WhatIf, um den Vorgang erst zu simulieren. Darauf sollte man nicht verzichten, weil man so Hinweise auf mögliche Probleme erhält. Dazu gehören etwa Warnungen, wonach die Installationsdateien auf dem Ziel-Server nicht verfügbar sind.
In diesem Fall kann man dem Cmdlet den Pfad zu den Installationsdateien (etwa auf einer gemounteten ISO oder im Verzeichnis C:\Windows des Quell-Servers) über den Parameter Source mitteilen (zu den möglichen Quellen siehe diese TechNet-Seite):
Import-Clixml .\ws-config.xml |
Install-WindowsFeature -ComputerName WS2012R2-VM3 -Source L:\sources\sxs -Restart
Dieser Aufruf verwendet zusätzlich den Schalter Restart, um den Server nach erfolgter Installation neu zu booten. Bei Bedarf könnte man dem Parameter ComputerName auch die Namen mehrerer Server übergeben, wobei diese durch Kommata voneinander getrennt sein sollten.
Konflikt zwischen GUI-Installation und Server Core
Allzu oft lässt sich das Problem der fehlenden Installationsdateien auf diese Weise nicht beseitigen. Das gilt besonders dann, wenn man die Konfiguration einer vollen Server-Installation inklusive GUI auf Server Core übertragen will. Mangels grafischer Oberfläche lassen sich dort viele Features nicht installieren.
Diese Fehlermeldung ist in einem solchen Fall daher irreführend:
Install-WindowsFeature : Fehler bei der Anforderung zum Hinzufügen oder Entfernen von Features auf dem angegebenen Server.
Fehler beim Installieren mindestens einer Rolle, eines Rollendiensts oder eines Features.
Die Quelldateien konnten nicht heruntergeladen werden.
Um diese Komplikationen zu verhindern, sollte man den neuen Server mit den gleichen Optionen installieren (GUI bzw. Core) wie jenen, von dem man die Konfiguration übernehmen möchte.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
Weitere Links