PowerShell install Remote Desktop Session Host

  • Article
  • 09/24/2021
  • 4 minutes to read

This article provides guidelines to install and configure the Remote Desktop Session Host role service on a computer that is running Windows Server 2019, Windows Server 2016, or Windows Server 2012 R2 without the Remote Desktop Connection Broker role service installed.

Applies to:   Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Original KB number:   2833839

When you create a standard deployment of Remote Desktop Services, the Remote Desktop Connection Broker role service provides access to the complete functionality of Remote Desktop Services. A configuration that does not use the RD Connection Broker role service provides desktop sessions to users based on the number of Remote Desktop Services client access licenses [RDS CALs] that are installed on the server. Such a configuration does not provide access to RemoteApp programs or the RDWeb website. Because a configuration without the RD Connection Broker role service does not provide access to all RDS functionality, you should use such a configuration only if there is no other option.

You can use the instructions in this article to configure RDS service by using a single server [either a member of a workgroup or a domain controller [DC]]. If you have a separate DC, we recommend that you use the Standard Remote Desktop Services deployment wizard.

For more information about the RDS roles, see Remote Desktop Services roles.

Process of deploying RDS service roles

The process of deploying RDS service roles on a single workgroup server or DC differs from that of deploying a standard RDS configuration on multiple computers.

Unless otherwise noted, these steps apply to both workgroup computer and DC cases.

Important

If you are using a single computer as both the RDS server and as a DC, configure the computer as a DC before you begin installing the RDS roles. For more information about how to install Active Directory Domain Services [AD DS] and configure the computer as a DC in Windows Server 2016 or Windows Server 2012, see Install Active Directory Domain Services [Level 100].

  1. On the workgroup computer or DC, install the Remote Desktop Licensing role service and the Remote Desktop Session Host role service. To do this, follow these steps:

    1. Open Server Manager.
    2. Click Manage and select Add Roles and Features.
    3. Select Role-based or Feature-based installation.
    4. Select the computer as the destination server.
    5. On the Select server roles page, select Remote Desktop Services.
    6. On the Select role services page, select the Remote Desktop Licensing and Remote Desktop Session Host role services.
    7. Continue the installation. Select default values for the remaining settings.
  2. DC step: Open Remote Desktop Licensing Manager, right-click the server, and then select Review Configuration.

  3. Select Add to group.

    Note

    If you have to manage group memberships manually, the Terminal Server License Servers group is located in the Built-in container in Active Directory Users and Computers.

  4. Restart the Remote Desktop Services service.

  5. Use one of the following methods to activate the RDS license server:

  6. Install the appropriate RDS CALs.

  7. Add the users that you want to allow to connect to the Remote Desktop Users group. To do this, use the following tools:

    • To find the Remote Desktop Users group on a DC, open Active Directory Users and Computers and navigate to the Builtin container.
    • To find the Remote Desktop Users group on a workgroup server, open Computer Management and then navigate to Local Users and Groups\Groups.
  8. Change the local policy of the computer to add your remote desktop users to the Allow logon through Remote Desktop Services local policy object. To do this, follow these steps:

    1. Open Local Security Policy.
    2. Navigate to Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment.
    3. Double-click Allow log on through Remote Desktop Services, and then select Add User or Group.
    4. Type Remote Desktop Users [or the user names of each user account that you want to add, separated by semicolons], and then select OK two times.
  9. Configure the Remote Desktop Session Host role service to use the local RDS license server.

    Important

    Before you begin this procedure, make sure that the RDS license server is activated.

    To do this, follow these steps:

    1. Open an elevated Windows PowerShell Command Prompt window.

    2. Run the following command:

      $obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
    3. To set the licensing mode, run the following command:

      $obj.ChangeMode[""]

      Note

      In this command, represents the licensing mode and is either 2 [if you are using per-device licensing] or 4 [if you are using per-user licensing]. If you are using a workgroup server, you must use 2.

    4. Run the following command:

      $obj.SetSpecifiedLicenseServerList[""]
    5. To verify the settings, run the following command:

      $obj.GetSpecifiedLicenseServerList[]

      You should see the RDS licensing server name in the output. After you finish this step, users can start remote desktop sessions by using any supported RDS client.

  10. DC step: To enable printer redirection to function correctly on a DC that is acting as the RDSH host, follow these additional steps.

    1. Open an elevated Command Prompt window.

    2. Run the following commands:

      C:\ CD\Windows\system32\Spool Cacls.exe PRINTERS /e /g users:C
    3. Restart the computer.

13.09.2012 von Claus Emrich

Dieser Beitrag beschäftigt sich mit der Installation des Windows Server 2012 Remote Desktop [RD] Connection Brokers. Im neuen Server kann man den Connection Broker mit einer Hochverfügbarkeitskonfiguration versehen, ohne dass man an die Limitierungen der bisherigen Architektur gebunden ist.

Bereits in früheren Versionen von Windows Server 2003, als der Connection Broker noch Session Directory hieß, bestand die Anforderung darin, sich gegen Ausfälle eines einzelnen Session Directory Servers abzusichern. Dies war auch damals schon mithilfe eines Windows Failover Clusters möglich, es war nur kaum bekannt. Dieser KB-Artikel beschreibt das Vorgehen.

Mit Windows Server 2008 R2 wurde es möglich, den RD Connection Broker noch einfacher in einem Windows Failover-Cluster zu betreiben. Der Failover Cluster Wizard kannte direkt den Cluster Resource Type "Remote Desktop Connection Broker" als Applikation. Eine entsprechende Anleitung dazu befindet sich hier.

Allen Lösungen bisher war jedoch gemein, dass sie auf eine interne Windows-Datenbank zurückgriffen, die in ihren Möglichkeiten beispielsweise für Management, Sicherung, Wiederherstellung, Replikation und Skalierung begrenzt war.

RD-Connection-Broker-Hochverfügbarkeit in Windows Server 2012

Mit Windows Server 2012 kann der RD Connection Broker hochverfügbar konfiguriert werden, ohne an die Limitierungen der bisherigen Architektur gebunden zu sein.

Erstmals ist es möglich, die vom RD Connection Broker verwalteten Collection- und Sitzungsinformationen in einer Microsoft SQL-Server-Datenbank zu speichern. Solange man den RD-Connection Broker nicht als hochverfügbar konfiguriert, kommt weiterhin die Windows-interne Datenbank [Windows Internal Database] zum Einsatz.

Eine ausführliche Beschreibung, wie man mithilfe der grafischen Oberfläche des neuen Windows Server 2012 Server Managers den RD Connection Broker hochverfügbar konfiguriert, befindet sich hier.

Neben der Nutzung des Server Managers ist es auch möglich, die Einrichtung einer Remote-Desktop-Services-Infrastruktur mit PowerShell durchzuführen. Dies bietet sich vor allem für die automatisierte Installation in größeren Umgebungen an. Der hier exemplarische Testaufbau, um die Nutzung von PowerShell zur Konfiguration von hochverfügbaren RD Connection Brokern zu simulieren, ist in der Grafik dargestellt.

Exemplarisch: der Testaufbau in diesem Beispiel.
Foto: Microsoft

Eine generelle Anleitung zum Aufbau einer RD-Session-Virtualization-Testumgebung ist in diesem TechNet-Artikel beschrieben. In der Abbildung ist zu erkennen, dass der Microsoft SQL und RD Web Access Server wie auch der Domain Controller und RD Lizenz Server nur mit einem Server realisiert sind. In einer produktiven Umgebung muss natürlich auch die Active-Directory-Infrastruktur hochverfügbar ausgelegt werden.

Für den Microsoft SQL Server bietet es sich hier an, die Hochverfügbarkeitsoptionen von Microsoft SQL Server zu nutzen. Eine ausführliche Dokumentation zu den möglichen Optionen finden Sie hier:

Der RD Web Access Server stellt für die Nutzer ein Einstiegsportal zum Zugriff auf die bereitgestellten Anwendungen oder virtuellen Desktops bereit. Da es sich hier um einen Webserver mit Internet Information Server [IIS] handelt, bietet sich die Nutzung einer Loadbalancing Technologie wie Windows Network Loadbalancing [NLB] oder eines Hardware Loadbalancers an.

Voraussetzungen und vorbereitende Maßnahmen

Auf allen beteiligten Servern muss das Remote Management aktiviert werden. Dies ist mit diesen beiden Befehlen auf der Kommandozeile des jeweiligen Servers möglich:

Configure-SMRemoting.exe -EnableEnable-PSRemoting -force

Einstellung: So müssen die In-Bound-Regeln der Windows-Firewall konfiguriert sein.
Foto: Microsoft

In der Windows-Firewall müssen die In-Bound-Regeln, wie im Bild dargestellt, konfiguriert sein. Außerdem muss der Benutzer welcher die Konfiguration via Powershell für die Remote Desktop Infrastruktur durchführt auf allen Servern Mitglied der lokalen Administrator Gruppe sein.

Auf den Servern, die die Rolle der RD Connection Brokers ausführen, sind folgende Voraussetzungen zu schaffen:

  • Installation des .Net Frameworks 3.5

  • Installation der SQL Server Native Client Tools

Installation des .Net Framework 3.5:

Dism /online /enable-feature /featurename:NetFx3 /All /Source:D:\sources\sxs /LimitAccess

Installation der SQL Server Native Client Tools vom Microsoft SQL Server Installationsmedium [zum Beispiel von Laufwerk D:]:

D:\setup.exe /ACTION=Install /QS /IACCEPTSQLSERVERLICENSETERMS /FEATURES=Conn

Der Parameter /QS kann auch durch /Q ersetzt werden; in diesem Fall würde dann keine Ausgabe des Setup-Status auf dem Bildschirm erfolgen. Dies ist beispielsweise dann sinnvoll, wenn die Installation komplett unbeaufsichtigt abläuft.

Auf dem Microsoft SQL Server müssen die RD Connection Broker die erforderlichen Berechtigungen erhalten. Eine entsprechende Beschreibung findet sich hier.

Remote Desktop Session Host Deployments mit PowerShell installieren

Unter Windows Server 2012 wird ein neuer Begriff in die Welt der Remote Desktop Services eingeführt, das sogenannte "Deployment". Ein Deployment ist am besten mit einem Verbund an Remote Desktop Session Host Servern zu umschreiben, die gemeinsame Infrastrukturkomponenten [beispielsweise RD Connection Broker, RD Web Access] nutzen.

Es ist zu empfehlen, alle folgenden Aktionen vom ersten RD Connection Broker Server aus zu starten. Zu Beginn startet man die PowerShell-Konsole mit administrativen Rechten und lädt das Modul für die Remote Desktop Services mit dem Befehl:

Import-Module RemoteDesktop

Um ein Deployment per PowerShell zu erzeugen ist, folgender Befehl zu verwenden:

New-RDSessionDeployment -ConnectionBroker -SessionHost -WebAccessServer

Mit diesem Befehl können auch mehr als ein RD Session Host Server installiert und ins Deployment eingefügt werden. Man kann mehrere Server direkt per Komma getrennt in den Befehl einfügen. Durch diesen Befehl werden auf den spezifizierten Servern die nötigen Windows-Features automatisch installiert. Man muss nicht auf jedem RD Session Host das Feature einzeln aktivieren.

Bildergalerie:

Powershell
Zunächst ist ein Deployment zu erzeugen.

Powershell
Das Setzen des Connection Brokers in den Hochverfügbarkeitsmodus.

Powershell
Um den zweiten oder weiter RD Connection Broker in den Hochverfügbarkeits-Verbund aufzunehmen ist dieser Befehl nötig.

Danach kann der erste Connection Broker in den Hochverfügbarkeitsmodus gesetzt werden:

set-RDConnectionBrokerHighAvailability -ConnectionBroker -DatabaseConnectionString "DRIVER=SQL Server Native Client 10.0;SERVER=;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=" -DatabaseFilePath -ClientAccessName

Folgende Punkte sind dabei zu beachten:

  • Mit diesem Schritt kann nur der erste Connection Broker hochverfügbar konfiguriert werden, alle weiteren folgen in einem nächsten Schritt.

  • Mit dem ist der Pfad auf der SQL-Server-Festplatte gemeint incl. Dateiname der Datenbank [ohne Dateierweiterung] - dieser ist identisch mit dem vorher spezifizierten Datenbanknamen aus dem Connection String.

  • Der gemeinsame DNS-Name ist der Alias, unter dem der Verbund aus Connection Brokern via DNS-Auflösung erreichbar sein soll.

Um den zweiten oder weitere RD Connection Broker in den Hochverfügbarkeitsverbund aufzunehmen, ist folgender Befehl nötig:

Add-RDServer -Role RDS-CONNECTION-BROKER -Server -ConnectionBroker rdcb1.contoso.msft

RD Session Collections mit PowerShell erstellen

Um Nutzern den Zugriff zu ermöglich, können jetzt sogenannte "Collections" aus RD Session Hosts definiert werden. Eine Collection bezeichnet eine Sammlung gleichartiger RD Session Hosts. Dies bedeutet: Auf allen Servern in dieser Sammlung stehen die gleichen Anwendungen bereit. Es wäre zwar technisch möglich, auch Server mit einem unterschiedlichen Satz an Anwendungen in eine Collection aufzunehmen, das ist aber nicht sinnvoll.

Ein Broker verteilt die sich anmeldenden Nutzer auf alle Server in einer Collection. Würden dort unterschiedliche Anwendungen bereitstehen, käme es zu einem inkonsistenten Benutzererlebnis kommen. Steht beispielsweise Microsoft Office nur auf einem von zwei Servern in einer Collection bereit, würden manche Benutzer es nutzen können, manche nicht, je nachdem, auf welchen Server sie durch den Connection Broker gerade geleitet werden.

Zur Erstellung einer neuen Collection wird dieser Powershell-Befehl verwendet:

New-RDSessionCollection -CollectionName "" -SessionHost -CollectionDescription "" -ConnectionBroker

Im Anschluss folgen dann weitere Schritte, um die Konfiguration der Remote Desktop Session Host Umgebung zu vervollständigen. Dazu gehören unter anderem folgende Punkte:

  • RD Lizenz Server aktivieren und konfigurieren

  • Anwendungen auf den RD Session Hosts installieren und veröffentlichen

  • SSL-Zertifikate zum Absichern der Kommunikation erstellen und konfigurieren

  • Windows Network Loadbalancing [NLB] oder Hardware Loadbalancer für die RD Connection Broker und RD Web Access einrichten

  • RD Gateway Server installieren und konfigurieren, um den sicheren Zugriff aus dem Internet zu ermöglichen

Wie dieser Beitrag zeigt, gibt es im kommenden Windows Server 2012 eine gute Möglichkeit, die Hochverfügbarkeit einer Remote-Desktop-Infrastruktur sicherzustellen. Mithilfe der PowerShell lässt sich die Konfiguration in großen Umgebungen automatisieren und somit reproduzierbar machen, um Fehlkonfigurationen zu vermeiden. [mje]

Outbrain

Video liên quan

Chủ Đề