Letzte Aktualisierung am 22.09.2019, 16:09:27 Uhr
Ich plane zurzeit eine RDS-Farm und beschäftige mich intensiv mit der Einrichtung und Konfiguration der RemoteApps auf den Clients. In dieser Umgebung geht es um Windows 7 Professional und Enterprise-Clients. Somit ist die Funktion „Standardverbindungs-URL“ nicht nutzbar, da dafür Windows 8 oder höher notwendig ist. Daher werde ich dieses PowerShell Skript für die Einrichtung der Verbindung nutzen. Das Ganze verbinde ich mit einer Gruppenrichtlinie, welche das Skript beim Anmelden des Benutzers ausführt.
Zuerst eine neue/vorhandene Gruppenrichtlinie anlegen/bearbeiten. Unter der Benutzerkonfiguration in die Einstellung „Richtlinien -> Windows-Einstellungen -> Skripts -> Anmeldung“ wechseln.
Mit einem Doppelklick auf „Anmeldung“ erscheint dieser Dialog. Dort in den Reiter PowerShell Skripts wechseln.
Unten Links auf „Dateien anzeigen“ klicken. Damit das Skript ausgeführt werden kann, müssen die Dateien selbstverständlich abgelegt werden.
Dort wird das PowerShell Skript und das die WCX-Datei des jeweiligen RDS-WebAccess-Servers abgelegt. Sind die Dateien abgelegt, kann der Explorer wieder geschlossen werden.
Abschließend muss noch der Aufruf des Skripts definiert werden. Dazu rechts auf die Schaltfläche „Hinzufügen“ klicken und in das erste Feld den exakten Namen des Skriptes. In das zweite Feld den Namen der WCX-Datei.
Ob die Verbindung erfolgreich eingerichtet ist, sieht man Client unter Start -> Systemsteuerung -> RemoteApp- und Desktopverbindungen.
Wie wird nun sichergestellt, dass die Verbindungen bzw. verfügbaren Anwendungen regelmäßig aktualisiert wird? Microsoft hat mitgedacht und dies über eine Aufgabe realisiert. Diese findet man auf dem Client in der Aufgabenplanung unter Microsoft -> Windows -> RemoteApp and Desktop Connections Update -> Username.
Ein Blick auf den Trigger der Aufgabe „Update connections“ verrät uns, dass diese Aktualisierung selten bzw. nie durchgeführt wird. Wie viele MitarbeiterInnen werden um 0:00 Uhr noch Arbeiten? Maximal die Nachtschicht, der Rest bleibt auf der Strecke. Also doch nicht ganz durchdacht vom Hersteller… :-/
Abhilfe schafft einen weiteren geplanten Task welche über die (gleiche) Gruppenrichtlinie, genauer gesagt mit Hilfe von Group Policy Preference (GPP). Die Konfiguration des Objekts sieht wie folgt aus:
Wichtig! In vielen Artikeln wird bei Parameter tsworkspace,TaskUpdateWorkspaces2 angegeben. Schaut man sich die TSWorkspace.dll mit Tools wie NirSoft DLL Export Viewer näher an, findet man eine weitere Funktion mit dem Namen „TaskUpdateWorkspaces“. Nutzt man als Parameter TaskUpdateWorkspaces2 führt dies dazu, dass die Ausführung der Task auf den Clients durchschnittlich ca. 10 Minuten dauert. Nutzt man dagegen die Funktion TaskUpdateWorkspaces, ist die Aktualisierung deutlich schneller abgeschlossen (2,3,4 Sekunden maximal). Leider findet man im MSDN keinerlei Dokumentation zu den beiden Funktionen. Mich würde brennend der Unterschied interessieren… zurück zum Thema.
Sobald die Gruppenrichtlinie auf die Benutzer angewendet wird, gibt es in der Aufgabenplanung eine neue Aufgabe:
Ab sofort wird bei jeder Anmeldung eines Benutzers die Verbindungen automatisch aktualisiert.
Alter Post zwar, aber egal.
Der Trigger sagt um 0 Uhr ausführen, aber unter Einstellungen ist auch die Option „Aufgabe so schnell wie möglich nach einem verpassten Start ausführen“.
Es sollte also dann ASAP nachgeholt werden.