So verbessern Sie die Arbeit mit Microsoft Remote Desktop

Ich möchte einige Tipps zum Einrichten einer Remoteverbindung zu Arbeitsstationen über RDP geben. Ich werde Ihnen sagen, wie Sie das alte RPC-HTTP auf UDP aktualisieren, Windows 10 und AVC loben und schelten. Ich werde eine Lösung für einige typische Probleme finden.

Wir glauben, dass Remotedesktop-Gateway (RDGW) für die Verbindung verwendet wird und Workstations als Server fungieren. Die Verwendung von RDGW ist sehr praktisch, da das Gateway zu einem gemeinsamen Einstiegspunkt für alle Clients wird. Dies ermöglicht eine bessere Kontrolle des Zugriffs, Aufzeichnungen über Verbindungen und deren Dauer. Selbst wenn Sie mit dem VPN eine direkte Verbindung zu Arbeitsmaschinen herstellen können, ist dies nicht die beste Option.

RDGW ist schnell, einfach zu konfigurieren und Let's Encrypt und Win-Acme lösen das Problem einfach mit einem vertrauenswürdigen Zertifikat.

Es gibt drei Transportprotokolle, über die der Client eine Verbindung zum Server herstellen kann:

RPC-HTTP ( schlecht )
HTTP ( besser )
HTTP + UDP ( ausgezeichnet )

Mit Server meinen wir eine funktionierende Maschine, mit einem Client - zu Hause.
Das erste, was Sie anfangen müssen, ist, "schlecht" in "ausgezeichnet" zu verwandeln.

Aktualisieren Sie RPC-HTTP auf HTTP


Die Verbindung zu einer Sitzung über RPC-HTTP lässt sich leicht anhand des Erscheinungsbilds des Verbindungsstreifens feststellen.



Es gibt kein Symbol für die Verbindungsqualität (siehe unten), was bedeutet, dass wir den alten, in TLS verpackten RPC verwenden - dies ist sehr langsam. Der Punkt liegt natürlich nicht nur im Wrapper - das Protokoll selbst ändert sich mit jeder Version des Betriebssystems, Codecs und Bildverpackungsalgorithmen ändern sich. Je frischer das Protokoll, desto besser.

Was zu tun ist?

Windows XP oder Vista


In XP können Sie das Protokoll von 5.1 auf 7 erhöhen . Der WindowsXP-kb969084-x86.exe-Hotfix.

In Vista von 6 auf 7. Der Hotfix hat dieselbe Nummer: Windows6.0-kb969084-x64.msu oder Windows6.0-KB969084-x86-Dateien .msu

RDP 7 funktioniert jedoch nicht über HTTP und UDP. Nur ein Upgrade des Clients und des Servers auf Windows 7 und höher hilft.

Windows 7

Zuerst müssen Sie das Protokoll auf RDP 8.1 aktualisieren und dann aktivieren. Unterstützung wird durch Updates hinzugefügt , die in einem einzigen Download - Paket gruppiert sind:

www.microsoft.com/en-US/download/details.aspx?id=40986
Windows6.1-KB2574819-v2-x64.msu
windows6.1-kb2592687-x64.msu
Windows6.1-KB2830477-x64.msu
Windows6.1-KB2857650-x64.msu
Windows6.1-KB2913751-x64.msu (ersetzt durch kb2923545)

windows6.1-kb2923545-x64.msu

Sie erhalten also sowohl den neuen mstsc.exe-Client als auch RDP 8.1-Unterstützung für die Serverseite des Betriebssystems.
Es war:





Es wurde:



Danach muss das Protokoll mit dem Registrierungsschlüssel aktiviert werden (hierfür können Sie die mit Windows 7 mitgelieferte Adm-Vorlage verwenden).

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fServerEnableRDP8"=dword:00000001
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows NT\Terminal Services]
"fServerEnableRDP8"=dword:00000001

Aktivieren Sie die UDP-Transportunterstützung in Gruppenrichtlinien.



Wir starten den Server mit Windows 7 neu. Der gleiche Fall, in dem Sie möglicherweise zweimal neu starten müssen - der Wert in der Registrierung muss festgelegt werden, bevor RDP aktiviert wird, und Gruppenrichtlinien werden später angewendet.

Wenn alles geklappt hat, wird beim Herstellen einer Verbindung zum Server ein Symbol für die Verbindungsqualität (wie in einem Telefon für ein Mobilfunknetz) in der Sitzungsleiste angezeigt:



Windows 8 und höher Das

Protokoll funktioniert sofort.

Aktualisieren Sie HTTP auf HTTP + UDP


Wenn Ihr Netzwerk nicht anfällig für Paketverluste ist, verbessert UDP die Serverreaktivität erheblich (für CAD - drastisch), indem FEC verwendet wird , um die erneute Übertragung zu reduzieren, und die Bestätigung der Paketzustellung vom TCP / IP-Systemstapel auf die RDP-UDP-Protokollebene umgeschaltet wird.

Von jedem Client ist eine Hauptsteuerungssitzung über HTTP verbunden (in diesem Kanal wird auch eine Tastatur / Maus übertragen) sowie eine oder mehrere UDP-Sitzungen zum Übertragen eines Bildes oder anderer virtueller Kanäle.

Wir werden nur die Spitze des Eisbergs berühren. Es gibt 3 verschiedene Versionen des RDP-UDP-Protokolls. Darüber hinaus kann UDP selbst in zwei Modi betrieben werden: UDP-R (zuverlässig) und UDP-L (verlustbehaftet). Mit Microsoft passiert nichts. Aber da hier nichts von uns abhängt, denken Sie daran - je neuer das Betriebssystem, desto moderner wird das Thema.

Draußen ist RDP-UDP in DTLS (Datagram Transport Layer Security) RFC4347 eingeschlossen, wie Sie durch Öffnen von Wireshark sehen können.

Weitere Details in den Dokumenten:
[MS-RDPEMT]: Remotedesktopprotokoll: Multitransporterweiterung
[MS-RDPEUDP]: Remotedesktopprotokoll: UDP-Transporterweiterung
[MS-RDPEUDP2]: Remotedesktopprotokoll: UDP-Transporterweiterung Version 2
Wo falsch, richtig Bitte schön.

Was benötigen Sie, um UDP zu aktivieren?

RDP-UDP wird ab RDP 8 unterstützt.

Der udp / 3389-Port muss auf dem Client geöffnet sein. Wenn Sie es mit einer lokalen Firewall, einer ACL auf dem Switch oder einer externen Firewall geschlossen haben, muss der Port geöffnet sein.

Öffnen Sie für den Remotedesktop-Gateway-Server zum TCP / 443-Port udp / 3391.

Der Port kann wie folgt konfiguriert werden:



Für Windows 7 muss NLA (Network Level Authentication) aktiviert sein.



Kann in Gruppenrichtlinien



oder über die Registrierung aktiviert werden

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SecurityLayer"=dword:00000001

Was ist die Verbindung ist nicht klar. Aber ohne NLA auf 7-ke funktioniert nicht, bei neueren Versionen von NLA für Arbeit ist UDP nicht erforderlich.

Nach dem Einrichten einer Sitzung über HTTP versuchen Client und Server , eine UDP-Verbindung auszuhandeln. Wenn es zu einem Paketverlust oder einer Verzögerung kommt, wird die UDP-Sitzung nicht gestartet. Der genaue Fehleralgorithmus für die UDP-Aushandlung ist nicht vollständig bekannt.

Wenn alles konfiguriert ist, klicken Sie nach dem Verbinden auf die Schaltfläche Linkqualität. Das Fenster zeigt an, dass UDP ausgehandelt wird.



Auf dem Gateway sieht es so aus:



Windows 10

Wenn Sie Windows 10 sowohl auf dem Server als auch auf dem Client haben, ist dies die schnellste und problemloseste Option. Microsoft stellt RDP aktiv fertig, und in den neuesten Versionen 10 können Sie sich auf eine gute Geschwindigkeit verlassen. Kollegen konnten den Unterschied zwischen Citrix und Windows 10 RDP in der AutoCAD-Geschwindigkeit nicht erkennen.

Es gibt einen guten Artikel über die Entwicklung von AVC-basierten RDP-Codecs in Windows 10
Remote Desktop Protocol (RDP) 10 AVC / H.264-Verbesserungen in Windows 10 und Windows Server 2016 Technische Vorschau Die

Übereinstimmung von AVC mit der Hardwarecodierung finden Sie im Ereignisprotokoll (weitere Informationen finden Sie im obigen Artikel). ):





Ich stelle nur fest, dass es auch bei h.264 4: 4: 4 immer noch ein Verzerrungsproblem gibt. Wenn Sie in PowerShell ISE arbeiten, fällt dies sofort auf - der Fehlertext wird mit unangenehmer Verzerrung angezeigt. Außerdem ist im Screenshot und auf dem Foto alles in Ordnung. Magie.

Ein indirektes Zeichen für die Arbeit von AVC sind von Zeit zu Zeit grüne Quadrate in den Ecken.

Die AVC- und Hardware-Codierung in neuen Builds sollte sofort funktionieren, aber Gruppenrichtlinien sind niemals überflüssig:



Da AVC mit einer Grafikkarte hardwarecodiert ist, ist die Aktualisierung von Grafiktreibern eine gute Idee.

Über Probleme


XP und Vista

Wenn das Problem unter Windows XP oder Vista auftritt, aktualisieren Sie zuerst das Protokoll auf Version 7 (geschrieben am Anfang des Artikels). Stellen Sie sicher, dass die CredSSP-Unterstützung aktiviert ist. Microsoft hat bereits Artikel auf der Website gelöscht, aber das Internet erinnert sich .

Wenn es nicht hilft, "spricht der Arzt mit der Leichenhalle, dann mit der Leichenhalle." Was das Betriebssystem in den letzten 15 Jahren erlebt hat, ist besser, nicht einmal darüber nachzudenken.

NLA

Manchmal hilft es, NLA auf dem Server zu deaktivieren. Es hat die Ursache nicht geklärt, die Heimautos sind alle unterschiedlich.

NTLM

Einige Clients versuchen, sich mit NTLMv1 anzumelden. Die Gründe sind unterschiedlich, aber Sie können es auf dem Client folgendermaßen beheben:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LmCompatibilityLevel"=dword:00000003

Ein Neustart ist erforderlich.

Wenn Sie jung sind und mutig Angst vor nichts haben, gibt es eine radikalere Lösung: Deaktivieren der Kanalbindung auf dem Remotedesktop-Gateway

HKLM\Software\Microsoft\Windows NT\CurrentVersion\TerminalServerGateway\Config\Core
Type: REG_DWORD
Name: EnforceChannelBinding
Value: 0 (Decimal)

Sie müssen dies nicht tun. Aber wir haben es getan. :-) Für einen Kunden, der darauf bestand (nicht falsch, darauf bestanden), dass NTLMv1 auf Workstations benötigt wird. Ich weiß nicht, vielleicht sind noch Server auf NT4 ohne SP in Betrieb.

Deaktivieren von RDP 8+ in Windows 10

Wenn alles andere fehlschlägt und die Ideen ausgehen, können Sie das RDP-Protokoll mit dem undokumentierten Schlüssel auf Version 7 herunterstufen.

[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]
"RDGClientTransport"=dword:00000001

Ich habe es nicht selbst gemacht und rate dir nicht. Aber jemandem schreiben sie, dass es hilft.

DrWeb Die Dr.Web

SpIDerGate-Komponente verhindert möglicherweise die Verbindung. In diesem Fall wird ein Fehler zurückgegeben:

In der Dr.Web-Statistik wird ein Datensatz angezeigt : Ein Dr.Web-

Mitarbeiter hat mich in den Kommentaren zu diesem Artikel kontaktiert, und unser Problem wurde beim nächsten Update der Antiviren-Datenbanken behoben.
Wenn Sie den gleichen Fehler haben, wenden Sie sich am besten an den Support.
Als vorübergehende Lösung können Sie die URL Ihres RDGW zu den Ausnahmen hinzufügen:

Und nur, wenn dies nicht dazu beigetragen hat, die SpIDer Gate-Komponente vollständig zu deaktivieren .

Systemproxy Ich

habe einen stillgelegten Computer einer Firma getroffen, bei dem ein lokales TMG als Systemproxy registriert war und die Verbindung zu RDGW nicht funktionierte. Dies kann folgendermaßen behoben werden:

netsh winhttp show proxy && netsh winhttp reset proxy

Wechseln der Tastaturlayouts

Manchmal kommen zusätzliche Layouts. Sie können die Layoutweiterleitung vom Client aus deaktivieren
[HKLM\System\CurrentControlSet\Control\Keyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001

DPI-Probleme Die

Skalierung erfolgt vom Client-Computer. Wenn sie auf dem Heim-Laptop 125% kostet, ist sie auf dem Arbeitscomputer gleich. Auf Servern kann dies deaktiviert werden, aber auf Workstations konnte ich nicht finden, wie. Der Windows 10 App Store verfügt jedoch über einen „modernen“ Client .

Sie können DPI darin konfigurieren:



So überwachen Sie ein Gateway mit RDGW


Es gibt einen Leistungsindikator "TS Gateway \ Current Connections", der etwas fehlerhaft ist, wenn keine Verbindungen bestehen oder der Server längere Zeit nicht neu gestartet wurde. Es zeigt genau die Anzahl der Verbindungen, aber wie wir uns erinnern, gibt es für HTTP + UDP mindestens zwei und möglicherweise mehr. Daher ist dies kein vollständig objektiver Indikator für die Anzahl der Mitarbeiterverbindungen.

Es gibt eine WMI-Klasse Win32_TSGatewayConnection. Der Inhalt entspricht dem, was Sie im Abschnitt Überwachung des Remotedesktop-Gateways sehen.

Damit kann die Anzahl der Verbindungen genauer berechnet werden:

Get-WmiObject -class "Win32_TSGatewayConnection" -namespace "root\cimv2\TerminalServices" 
|?{$_.transportprotocol -ne 2}|select username,connectedresource|sort username|Get-Unique -AsString| measure|select -ExpandProperty count

Nur zum Spaß gibt es ein Remote Display Analyzer- Dienstprogramm . Die kostenlose Version hat mir nichts Nützliches gezeigt, aber plötzlich wird es für jemanden nützlich sein.

Aber was ist mit der Feinabstimmung, der Einstellung einiger Dutzend Sitzungsparameter?

Hier gilt das Pareto-Prinzip: 20% der Bemühungen ergeben 80% des Ergebnisses. Wenn Sie bereit sind, Ihre Zeit in die verbleibenden 20% des Ergebnisses zu investieren - ausgezeichnet. Denken Sie daran, dass Sie beim Lesen eines Artikels über das Einrichten eines Protokolls in Windows 7 nicht wissen, über welches Protokoll der Autor geschrieben hat - 7, 8 oder 8.1. Wenn Sie über Windows 10 lesen, ohne eine Version anzugeben, sind die Probleme dieselben. Sie schreiben beispielsweise, dass in neuen Builds von Windows 10 der AVC / h.264-Codec in RDPGFX_CODECID_AVC444 V2 geändert wurde und in Windows Server 2016 RDPGFX_CODECID_AVC444 erhalten bleibt.

Von all diesen Tipps verwenden wir nur zwei Einstellungen:

  1. 16-Bit-Farbe finden Sie im Artikel MS RDP-Leistung / Bandbreitennutzung
  2. Deaktivieren der Schriftglättung Schriftglättung: i: 0 im obigen Artikel oder Leistungsoptimierung Remotedesktop-Sitzungshosts

Ich bezweifle, dass sie ein greifbares Ergebnis liefern.

Wir sind also am Ende des Artikels angelangt. Ich wollte kürzer sein, aber es stellte sich wie immer heraus. Ich bin froh, wenn diese Tipps jemandem helfen, Zeit zu sparen oder die Konfiguration seiner Infrastruktur zu verbessern.

All Articles