19.9
Drucken, Easy Print

Bei allen Vorteilen der Remotedesktopdienste ist das Thema »Drucken« für die meisten Remotedesktopdienste-Administratoren eher unerfreulich. Dies hat primär drei Gründe:
- Bandbreitenbedarf: In vielen Fällen stehen die Remotedesktop-Sitzungshosts in der Firmenzentrale, und die Benutzer in den über WAN-Verbindungen arbeitenden Außenstellen greifen darauf zu. Das funktioniert auch gut und bandbreitenschonend – bis auf das Drucken. Der Grund ist, dass die Druckdatenströme, insbesondere wenn Grafiken vorhanden sind, einfach groß werden.
- Druckertreiber: Damit die Benutzer »ihre« Standarddrucker verwenden können, können diese vom Desktop in die Remotedesktopdienste-Sitzung »eingeblendet« werden. Problematisch ist, dass der Remotedesktop-Sitzungshost dafür über die passenden Treiber verfügen muss. Dass der Name des Druckers bei Client und Server exakt übereinstimmen muss, macht die Angelegenheit auch nicht einfacher. Unter Windows Server 2003 gibt es zwar die Möglichkeit, ein Drucker-Mapping zu konfigurieren, dies ist aber wiederum mit Arbeit für den Administrator verbunden.
- Weiterhin ist noch als problematisch zu benennen, dass 32-Bit-Druckertreiber nicht auf einem 64-Bit-Betriebssystem laufen. Häufig stehen die Druckertreiber aber nur in einer 32-Bit-Version zur Verfügung.
Während das erstgenannte Problem ein typisches WAN-Thema ist, dem man mit Bandbreitenbegrenzung/Priorisierung zu Leibe rücken kann, ist es bei den beiden anderen genannten Punkten schon ein wenig komplizierter. Hier gibt es unter Windows Server 2008/2012 (R2) eigentlich keine wirklich befriedigende Lösung. Gut, man kann auf Standardisierung achten, aber das lässt sich häufig in gewachsenen Umgebungen nicht durchhalten.
Hier kommt das mit Windows Server 2008 eingeführte Easy Print zum Einsatz. Vereinfacht gesagt, besteht die Idee darin, zunächst ein »abstraktes Zwischendokument« zu erstellen, das an den Client übersendet wird, der es dann mit seinem lokal installierten Druckertreiber zum gewünschten Drucker sendet. In Abbildung 19.73 ist die Funktionsweise von Easy Print schematisch dargestellt:
- Auf dem Server druckt die Applikation mit dem RD Easy Print XPS Driver in eine XPS Spool-Datei.
- Diese Datei wird auf den Client übertragen.
- Auf dem Client »übernimmt« das RD Easy Print-Plug-in die Spool-Datei.
- Kann der Zieldrucker über einen XPS-Druckertreiber angesprochen werden, kann die Spool-Datei dorthin weitergeleitet werden. Ist »nur« ein GDI-Druckertreiber vorhanden, muss eine Konvertierung durchgeführt werden; dazu muss das .NET Framework 3.0 SP1 (oder höher) auf dem Client installiert sein.
- Der Ausdruck erfolgt dann auf dem Drucker des Clients, wobei es unerheblich ist, ob dieser lokal angeschlossen oder ein Netzwerkdrucker ist.
Abbildung 19.73 Die Funktionsweise von Easy Print
Abbildung 19.74 Aufpassen: Wenn der Benutzer auf einen Netzwerkdrucker druckt, sieht der Druckpfad wie hier gezeigt aus.
Druckt der Anwender auf einen Netzwerkdrucker, funktioniert das über das beschriebene Easy Print-Verfahren natürlich auch. Zu beachten ist dann allerdings, dass der Client die Druckdaten zweimal transportieren muss. Abbildung 19.74 zeigt den Ablauf beim Drucken auf einen Netzwerkdrucker über den Easy Print-Client:
- Schritt 0: Der Client übermittelt die Informationen über »seine« Drucker an den Server.
- Schritt 1: Der Server erzeugt beim Druckvorgang die XPS Spool-Datei.
- Schritt 2: Die Spool-Datei wird an den Client übertragen.
- Schritt 3: Der Client leitet die Druckdaten an den Druckserver weiter.
- Der Druckserver leitet die Druckdaten an den Drucker weiter.
Im lokalen Netz ist das natürlich kein Problem, denn, salopp gesagt, ein paar Megabytes mehr oder weniger bringen ein modernes Netz absolut nicht aus dem Tritt. Falls ein Client im Homeoffice auf einen Drucker in der Firmenzentrale druckt, wäre das allerdings recht ungünstig. Um die Datenpfade zu ändern, könnte man auf dem Remotedesktop-Sitzungshost den Netzwerkdrucker so einrichten, dass die Druckdaten direkt zum Druckserver übertragen werden. Allerdings müssen dann natürlich auf dem Remotedesktop-Sitzungshost die entsprechenden Druckertreiber installiert werden.
19.9.1
Installation von Easy Print

Auf dem Remotedesktop-Sitzungshost müssen Voraussetzungen installiert werden:
- .NET Framework (ist automatisch mitinstalliert)
- XPS-Viewer, dieser muss seit den Versionen 2012 R2/2012/2008 R2 übrigens nicht mehr separat ausgewählt werden (im Gegensatz zum Windows Server 2008, Non-R2-Version)
Die Voraussetzungen auf dem Client sind:
- Remotedesktopverbindungs-Client 6.1 (oder höher)
- .NET Framework 3.0 SP1 (oder höher)
19.9.2
Kurze Überprüfung

Hier zeige ich Ihnen im Schnelldurchlauf, wie das Drucken mit Easy Print vor sich geht – aus Sicht des Benutzers läuft es so ab wie ein »normaler« Druckvorgang. Denken Sie daran, dass im Remotedesktopverbindungs-Client die Verwendung der lokalen Drucker aktiviert sein muss (Abbildung 19.75).
Abbildung 19.76 zeigt in der Systemsteuerung den Drucker-Dialog in einer Remotedesktopdienste-Sitzung mit freigegebenem Desktop. Alle auf dem Client angelegten Drucker werden auf dem Server angezeigt, dahinter findet sich in Klammern der Hinweis auf die Umleitung. Der einzige nicht umgeleitete, also direkt auf dem Server installierte Drucker ist der Microsoft XPS Document Writer.
Abbildung 19.75 Aktivieren Sie im Remotedesktopverbindungs-Client die Nutzung der lokalen Drucker.
Abbildung 19.76 Die lokalen Drucker erscheinen in der Auswahlliste des Remotedesktop-Sitzungshosts. In den »Eigenschaften« wird als Modell allerdings »Remote Desktop Easy Print« angegeben.
Interessant ist natürlich, einen Blick in die Eigenschaften eines solchen umgeleiteten Druckers zu werfen. Als Modell wird dort Remote Services Easy Print angegeben. Wie zuvor erläutert, wird also nicht mit dem eigentlichen Treiber des Druckers gedruckt – dieser braucht auf dem Remotedesktop-Sitzungshost also nicht vorhanden zu sein.
Wenn Sie im Eigenschaften-Dialog die Registerkarte Geräteeinstellungen auswählen, wird der Dialog aus Abbildung 19.77 sichtbar. Wenn Sie nun auf die Schaltfläche Druckeinstellungen klicken, wird ein lokaler Dialog geöffnet, nämlich der Dialog des Druckers auf dem Client. Ganz deutlich: Der Druckeinstellungen-Dialog stammt also nicht vom Remotedesktop-Sitzungshost. Auf diesem ist ja der eigentliche Druckertreiber nicht vorhanden.
Nun zum finalen Test: In Abbildung 19.78 wird in der Remotedesktopdienste-Sitzung Word gestartet und der Dialog Drucken aufgerufen. Wenn man dort den Drucker selektiert und dessen Eigenschaften aufruft, geschieht Folgendes:
- Es öffnet sich in der Remotedesktopdienste-Sitzung ein Dialogfenster, das darauf hinweist, dass der Drucker vom Remotedesktopverbindungs-Client umgeleitet wurde.
- Zusätzlich öffnet sich der Einstellungen-Dialog des Druckers. Interessant ist, dass das Druckerfenster lokal, also auf dem Client, ausgeführt wird – der Druckertreiber ist ja auch nur auf dem Client installiert, nicht auf dem Server.
Abbildung 19.77 Auf der Registerkarte »Druckeinstellungen« wird auf den Dialog des lokalen Druckers verwiesen.
Warum das so ist, wird Ihnen einleuchten, wenn Sie sich nochmals in Ruhe Abbildung 19.73 zu Gemüte führen, die die Funktionsweise von Easy Print visualisiert. In letzter Konsequenz wird mit dem lokalen Drucker gedruckt; es gelten dessen Einstellungen.
RemoteApp
Wenn ein RemoteApp-Programm aufgerufen wird, ergibt sich übrigens exakt dasselbe Szenario wie das in Abbildung 19.78.
Abbildung 19.78 So sieht es aus, wenn die »Eigenschaften« im »Drucken«-Dialog aufgerufen werden. Das vordere Fenster wird übrigens lokal angezeigt.
19.9.3
Gruppenrichtlinien

Es lohnt sich übrigens, noch einen kurzen Blick in die Gruppenrichtlinien-Einstellungen für die Druckerumleitungen zu werfen. Abbildung 19.79 zeigt die Einstellungen unterhalb von Computerkonfiguration · Administrative Vorlagen · Windows-Komponenten · Remotedesktopdienste · Remotedesktopsitzungs-Host · Druckerumleitung.
- Die Einstellung Zuerst EasyPrint-Druckertreiber für Remotedesktop verwenden sorgt dafür, dass der Remotedesktop-Sitzungshost zunächst versucht, die Drucker des Clients via Easy Print einzubinden. Sollte das nicht möglich sein, wird auf das »konventionelle Verfahren« zurückgegriffen: Es wird ein Mapping zwischen den Druckerobjekten auf Client und Server versucht. Wenn Sie hier keine Konfiguration vornehmen, ist diese Einstellung übrigens aktiv.
- Verfügt ein Client über viele installierte Drucker, müssen Informationen für sämtliche Objekte übertragen werden, was durchaus ein wenig Performance beansprucht. Wenn es ausreicht, dass der Standarddrucker umgeleitet wird, sollten Sie die entsprechende Einstellung aktivieren.
Abbildung 19.79 Die Gruppenrichtlinien-Einstellungen für die Druckerumleitung
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.