Können Remotedesktopdienste allein von PowerShell ohne Domäne in Windows Server 2012 und 2012 R2 bereitgestellt und verwaltet werden?

19

Windows Server 2008 R2 ermöglichte die Bereitstellung von Terminal Server (Remotedesktopdienste) ohne Domäne und ohne Beharren auf Domänen. Dies war sehr nützlich, insbesondere für eigenständige virtuelle oder Cloud-Bereitstellungen eines Servers, der remote für einen Remoteclient verwaltet wird, der keine ActiveDirectory- oder Domain-Funktionen benötigt oder benötigt.

Dies wird immer schwieriger, da Microsoft seine Technologien in jeder Windows-Version immer weiter einschränkt. Unter Windows Server 2012 ist die Konfiguration der Lizenzierung für Remotedesktopdienste schwieriger, wenn sie sich nicht in einer Domäne befindet, aber dennoch möglich ist. Mit Windows Server 2012 R2 (zumindest in der Vorschau) sind die Hindernisse jetzt erheblich:

  1. Der Assistent zum Hinzufügen / Entfernen von Rollen und Features in Windows Server 2012 R2 verfügt über einen speziellen RDS-Bereitstellungsmodus mit einer Regel, die besagt, dass Sie sich nicht in einer Domäne befinden, die Sie nicht bereitstellen können. Sie werden aufgefordert, zuerst eine Domain zu erstellen oder einer beizutreten. Dies steht natürlich in direktem Konflikt mit der Tatsache, dass ein Active Directory-Domänencontroller nicht derselbe Computer sein sollte wie ein Terminalservercomputer. Die Technologie von Microsoft ist also weniger ein Cloud-Betriebssystem als ein Cluster unerwünschter Knoten, das zur Unterstützung des Computers benötigt wird, den ich tatsächlich bereitstellen möchte. Das ist eklig, und deshalb versuche ich, eine Problemumgehung zu finden.

  2. Wenn Sie diesen Assistenten jedoch überspringen und nur die Kontrollkästchen im Hauptassistenten für Rollen / Features aktivieren, können Sie die Features bereitstellen, die Benutzeroberfläche ist jedoch nicht zum Konfigurieren dieser Funktionen vorhanden, und wenn Sie im Rollenassistenten zur RDS-Konfigurationsseite zurückkehren Sie erhalten die Meldung, dass Sie Ihr Remotedesktopdienstesystem nicht verwalten können, wenn Sie als Administrator des lokalen Computers angemeldet sind, da die RDS-Konfigurationsbenutzeroberfläche, obwohl Sie über alle Administratorrechte verfügen, die Sie (in Ihrem arbeitsgruppenbasierten System) haben könnten Akzeptieren Sie diese Anmeldeinformationen nicht und fahren Sie fort.

Meine Frage in Kürze ist, kann ich noch irgendwie folgendes Endergebnis erzielen:

  • Ich muss 10-20 Benutzern pro System erlauben, eine RDS (TS) -Sitzung zu haben.
  • Ich brauche keine der ausgefallenen RDS-Optionen für Hosen, es sei denn, Microsoft hängt irgendwie davon ab, ob diese Funktionen vorhanden sind. Ich glaube, ich brauche den "RDS Session Host", da dies der Mut von "Terminal Server" ist. Microsoft gibt an, dass es sich um einen vollständigen Windows-Desktop für Remotedesktopdienste-Client handelt.
  • Ich muss die Lizenzierung so konfigurieren, dass die Grace Period nicht abläuft und mein RDS nicht funktioniert. Dies bedeutet wahrscheinlich, dass ich eine Möglichkeit zum Konfigurieren von TS-CALs benötige.

Wenn all das technisch mit der vernünftigen Verwendung der PowerShell erledigt werden könnte, bin ich bereit, sogar in Betracht zu ziehen, alle PowerShell-Skripts zu entwickeln, die ich für die oben genannten Aufgaben benötige. Ich bitte niemanden, das für mich zu schreiben. Was ich frage ist, weiß jemand, ob es ein technisches Hindernis für das gibt, was ich oben tun möchte, abgesehen von dem absichtlichen Verkrüppeln der 2012 R2-Benutzeroberfläche für Workgroup-Benutzer? Funktionieren die zugrunde liegenden Technologien weiterhin, wenn ich sie über ein PowerShell-Skript manipuliere und kontrolliere?

Offensichtlich ist eine 1-Wort-Ja- oder Nein-Antwort für niemanden so nützlich, daher lautet die Frage wirklich "Ja" oder "Nein" und warum? In dem Fall ist die Antwort ja, wie dann.

Warren P
quelle
Microsoft hat anscheinend große Anstrengungen unternommen, um dies unmöglich zu machen, und die Antwort lautet NEIN. Microsoft hat gesagt: "Screw you, people".
Warren P
Haben Sie von MSFT erfahren, dass dies nicht möglich / machbar ist?
Mathias R. Jessen
Benötigen Sie vollständige Remotedesktopdienste oder ist der Remotedesktop selbst ausreichend? Es gibt ein Standard-Benutzerlimit von 1 oder 2 oder so, aber ich habe Möglichkeiten gesehen, Gruppenrichtlinien oder ahem- modifizierte Bibliotheken zu verwenden, die mehr erlauben. Ich bin nicht sicher, ob sie für 2012 funktionieren oder ob der Vorschlag unter Ihren Umständen sogar angemessen ist ..
Jon Kloske
@ JonKloske technisch, dass 2 Benutzer-Limit ist für die Administratoren und nicht die Benutzer
MDMoore313
@ MDMoore313 - Referenz oder es ist nicht passiert :) technet.microsoft.com/en-us/library/cc753380.aspx und eine Million andere Links sagen alle, dass ohne die Rolle des RD-Sitzungshosts 2 das maximale Remote-Limit ist. Verweisen Sie auf etwas, das Ihre Behauptung stützt, oder entfernen Sie es, um Verwirrung zu vermeiden!
Jon Kloske

Antworten:

10

Ich befand mich im selben Szenario wie Sie. Das Bereitstellen von Remotedesktop auf einer eigenständigen Server 2012-Box ist ziemlich schwierig, da Sie dies von den Microsoft-Mitarbeitern nicht in einem domänenlosen Netzwerk ausführen lassen. Andernfalls können Sie nicht alle Einstellungen verwalten.

Sie können also eine arbeitsgruppenbasierte Box installieren und die Remotedesktoprollen daran arbeiten lassen. Wir müssen auch Remotedesktop-Lizenzierungsfunktionen auf demselben Computer installieren. Wenn sich der Benutzer anmeldet, wird zu diesem Zeitpunkt jedoch die Meldung angezeigt, dass der Testzeitraum aktiviert ist, auch wenn auf dem Server ordnungsgemäße RDS-CALs installiert sind.

Ich habe es endlich geschafft, zumindest so etwas wie die guten alten Terminaldienste, die wir früher kannten, zum Laufen zu bringen. Das funktioniert für mich auf zwei Produktionsmaschinen kleiner Clients, die RDS benötigen, sich aber nicht leisten können, zwei Server in ihrem Netzwerk zu haben.

Auf geht's:

  1. Installieren Sie die Rollendienste Remotedesktoplizenzierung und Remotedesktop-Sitzungshost mithilfe der folgenden Schritte:

    • Öffnen Sie den Server-Manager
    • Klicken Sie auf Verwalten und wählen Sie Rollen und Funktionen hinzufügen
    • Wählen Sie Rollenbasierte oder Featurebasierte Installation
    • Wählen Sie unter Remotedesktopdienste die Rollendienste Remotedesktoplizenzierung und Remotedesktop-Sitzungshost aus.
    • Fahren Sie mit der Installation fort
  2. Fügen Sie den Lizenzserver zur Gruppe "Terminalserver-Lizenzserver" hinzu, und starten Sie den Remotedesktopdienst neu (können Sie verwenden licmgr.exe).

  3. Fügen Sie die Lizenzen zum Lizenzserver hinzu.

  4. Konfigurieren Sie die Remotedesktop-Sitzungshostrolle für die Verwendung des lokalen Remotedesktop-Lizenzierungsservers. Folge diesen Schritten:

    • Öffnen Sie PowerShell als Administrator
    • Geben Sie den folgenden Befehl in die PS-Eingabeaufforderung ein und drücken Sie die Eingabetaste:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

Führen Sie den folgenden Befehl aus, um den Lizenzierungsmodus festzulegen (Hinweis: Wert = 2 für Pro Gerät, Wert = 4 für Pro Benutzer, wir verwenden Pro-Benutzer)

$obj.ChangeMode(4)

Führen Sie den folgenden Befehl aus, um den Computernamen mylicenseserverdurch den Lizenzserver zu ersetzen ( der Name Ihres Servers):

$obj.SetSpecifiedLicenseServerList("mylicenseserver")

Führen Sie den folgenden Befehl aus, um die Einstellungen zu überprüfen, die mit den oben genannten Schritten konfiguriert wurden:

$obj.GetSpecifiedLicenseServerList()

Sie sollten den Servernamen in der Ausgabe sehen.

Starten Sie anschließend das System neu und melden Sie sich bei einem beliebigen Benutzer an (wenn Sie eine Arbeitsgruppe verwenden, wissen Sie, dass Ihre Benutzer Teil der sein müssen Remote Desktop Users), und die Meldung zum Testzeitraum verschwindet.

Quelle für all dieses Durcheinander: http://support.microsoft.com/kb/2833839

Verwalten mit Powershell

Es gibt ein paar Dinge, mit denen Sie fertig werden können Powershell. Um die Befehle zu sehen, versuchen Sie:

import-module RemoteDesktop get-command -module RemoteDesktop

Es gibt eine Liste von Befehlen, die Sie über Powershell ausführen können, um Ihre Box zu verwalten. Ich habe jedoch einige ausprobiert, bei einigen ist jedoch die Installation einiger zusätzlicher Funktionen erforderlich, die in dem hier beschriebenen Szenario nicht bereitgestellt werden können.

Der hässliche Weg

Wenn keine der oben genannten Möglichkeiten für Sie zutrifft, können Sie den Kulanzzeitraum auf die ersten 120 Tage zurücksetzen. Natürlich empfehle ich dies nicht, da der Benutzer die Nachricht weiterhin bemerkt. Natürlich müssen Sie die richtigen Lizenzen erwerben.

Um den Zähler zurückzusetzen, löschen Sie einfach diesen Registrierungsschlüssel:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Grace Period

Dazu benötigen Sie natürlich zusätzliche Berechtigungen. Die Ausführung regeditals Administrator funktioniert nicht. Versuche dies:

  • Holen Sie sich PSEXEC
  • Starten Sie eine Cmd als Administrator
  • Lauf psexec -s -i regedit.exe
  • Löschen Sie den gewünschten Schlüssel
  • neustarten

Ich hoffe, einiges davon funktioniert für Sie. Wenn Sie mit Powershell und RDS Fortschritte erzielen, lassen Sie es uns wissen.

ojovirtual
quelle
Ich habe festgestellt, dass sie in Win Server 2012 R2 tatsächlich große Anstrengungen unternehmen, um Sie von diesem Schlüssel abzuhalten. Danke für den PSEXEC-Tipp!
Warren P
1
Ich denke, dass eine bessere Lösung darin besteht, nicht mehr zu versuchen, Microsoft-Produkte zu verwenden, da diese so weit gehen, dass kleine Unternehmen (die für ihre Produkte bezahlen) nicht mehr Microsoft-Produkte einsetzen, um das zu erreichen, was sie wollen, um ihre Geschäfte zu betreiben. Offensichtlich kümmert sich Microsoft nur um große Unternehmensbereitstellungen, bei denen die Active Directory-Integration und Volumenlizenzierungssysteme das zusätzliche Aufladen der Terminal Server-Funktionalität ein wenig erleichtern.
Warren P
Wie füge ich den Lizenzserver der Gruppe "Terminalserver-Lizenzserver" hinzu? Ich sehe keine Möglichkeit, das in licmgr.exe zu tun.
Shackrock
6

Als ich eine Umgebung in einem Labor eingerichtet habe, um dies zu versuchen (eine einfache RDS-Bereitstellung ohne Domäne), habe ich die Antwort auf Ihre Frage gefunden, obwohl es nicht die ist, die Sie hören möchten.

Für RDS in [Server 2012 und 2012 R2] müssen alle Server einer Domäne hinzugefügt werden . Laut einem Programmmanager bei Microsoft im Remotedesktop-Virtualisierungsteam, der den verknüpften MSDN-Blogartikel "Einrichten einer neuen Remotedesktopdienste-Bereitstellung mit Windows PowerShell" verfasst hat.

Tut mir leid, dass es nicht die Antwort ist, die Sie wollten, aber es scheint mir ziemlich maßgebend zu sein. Sie können nicht tun, was Sie möchten, da Microsoft beschlossen hat, die Domänenmitgliedschaft zu einer technischen Voraussetzung für RDS-Server in Server 2012 und 2012 R2 zu machen.

HopelessN00b
quelle
Dies war ein Ruck für Microsoft zu tun. Meine Lektüre tendiert auch dazu, sich nach Ihren Vorstellungen zu richten. Microsoft beabsichtigte, mehrere "Extract Cash from Customers" -Systeme (RDS CAL-Lizenzierung und domänenbasierte Zentralisierung der Lizenzierung) zu kombinieren. Diejenigen, die eigenständige Workgroup-Terminalserver verwenden möchten, bleiben hoch und trocken.
Warren P
1

Ich habe beim Testen festgestellt, dass es wichtig ist, mindestens eine Netzwerkkarte mit aktiviertem IPv6 zu konfigurieren. Dies war erforderlich, da der Loopback, damit der RDS-Lizenzserver mit sich selbst kommunizieren konnte, versucht hat, dies über IPv6 zu beheben (wie in Pings gezeigt). Ich hatte IPv6 auf beiden NICs deaktiviert und dies führte dazu, dass der Server keine ordnungsgemäße Schleife durchführte.

JDub
quelle