Terminalserverfarm automatisiert

Lesezeit
1 Minute
Bis jetzt gelesen

Terminalserverfarm automatisiert

12.07.2015 - 00:00
Veröffentlicht in:
Wer seine Terminalserverfarm deutlich auszubauen will, muss für die gestiegene Anzahl an Nutzern, die auf diese Weise arbeiten soll, auch die verfügbaren Server merklich aufstocken. Wenn absehbar ist, dass die Zahl der Server in beachtlichem Maß steigt, kommt in Frage, die Verwaltung per PowerShell-Skripting zu automatisieren. Dabei gibt es jedoch einige Besonderheiten zu beachten.
Eine Remote Desktop Session Host (RDSH)-Farm besteht immer aus verschiedenen Komponenten: Das sind in jedem Fall der Remote Desktop Broker (RDB) und Remote Desktop Webaccess (RDW). Ohne diese beiden Rollen lässt sich keine Farm aufbauen. Zusätzlich benötigen Sie entweder einen Remote Desktop Session Host, ehemals Terminalserver, oder einen Remote Desktop Virtualization Host (was einem Hyper-VServer entspricht), der virtuelle Desktops hosted. Eine weitere optionale Rolle ist das Remote Desktop Gateway (RDG), das die Verschlüsselung der gesamten Kommunikation übernimmt.

In der Regel sind diese Rollen auf verschiedenen Servern installiert und damit wird das Scripting auch ein wenig schwieriger, da Sie zum Beispiel zunächst bestimmte Rollen installieren müssen, bevor Sie eine Farm erstellen können. Wollen Sie zum Beispiel das Skript von einer zentralen Maschine aus starten und mit den anderen Server- Rollen kommunizieren, dann nutzen Sie PowerShell Remoting. Dies ermöglicht, dass die einzelnen Schritte sequenziell von einer einzigen Maschine abgearbeitet werden können.

Die Voraussetzung ist jeweils, dass Sie über einen Windows Server 2012 R2 verfügen, auf dem PowerShell Remoting und PowerShell selbst aktiviert sind. Dies können Sie natürlich auch über ein Script erledigen, das Sie zum Beispiel bei der Image-Erzeugung ausführen. Der Befehl, um die PowerShell zu aktivieren und eine Remote-Sitzung zuzulassen, lautet:
Powershell.exe -command "Set-executionpolicy bypass; enable-psremoting"
Möchten Sie von diesem Remote-Computer dann wiederum noch weitere Rechner ansprechen, müssen Sie das sogenannte "CredSSP" freischalten. Grundsätzlich erlaubt die PowerShell es nicht, sich mit den Credentials von einem Remote Computer weiter auf andere Computer zu verbinden. Dabei sind zwei PowerShell-Befehle ausschlaggebend:
Enable-wsmancredssp -role client - delegatecomputer *.$env:userdnsdomain -force
Enable-wsmanCredSSP -role Server -force
Mit dem ersten Befehl können Sie auch einzelne Server freischalten. Dabei ist es wichtig zu wissen, wie der Server versucht, sich zu authentifizieren. Versucht er dies über seinen Namen – etwa Server01.lab.local –, müssen Sie "*.lab.local" oder direkt den vollen FQDN angeben. Versucht der Server sich nur mit "Server01" zu authentifizieren, würden die anderen Freischaltungen nicht reichen und Sie müssen eine Freischaltung auf "*" oder auf "Server01" durchführen, also zum Beispiel:
enable-wsmanCredSSP -role Client - Delegatecomputer * -force
Danach sind die Voraussetzungen geschaffen, Server remote über die PowerShell zu administrieren. Am besten führen Sie immer alle vier Befehle auf allen Servern aus, die in die Kommunikation eingebunden sind. Zwar öffnen Sie das System damit weiter, als es vorgesehen ist, aber letztlich braucht der Anwender immer noch administrative Rechte, um (Sicherheits)relevante Veränderungen durchzuführen.

ln

Tags

Ähnliche Beiträge