Was bei der Anmeldung passiert
  1. 01

    Anmeldung oder Wiederverbindung

    Die geplante Aufgabe „\WePrintEasy\WePrintEasy Agent“ startet den Agenten unsichtbar als Benutzer.

  2. 02

    Konfiguration lesen

    Der Agent liest die config.json und ermittelt die Zuweisung: Benutzer → Gruppe mit kleinster Priorität → keine.

  3. 03

    Vorbereiten

    „Windows verwaltet Standarddrucker“ aus; fehlenden Netzwerkdrucker verbinden.

  4. 04

    Anmeldephase

    120 s lang alle 3 s: Standarddrucker mit der Zuweisung vergleichen und bei Bedarf zurücksetzen.

  5. 05

    Sitzungsüberwachung

    Optional: während der ganzen Sitzung alle 30 s prüfen; Konfigurationsänderungen werden automatisch übernommen.

Schleife bis Sitzungsende

Die geplante Aufgabe

Der Installer registriert die Aufgabe \WePrintEasy\WePrintEasy Agent mit zwei Triggern: bei Anmeldung und bei Wiederverbindung einer Remotesitzung – durch die Wiederverbindung kommen neue Client-Drucker in die Sitzung. Die Aufgabe läuft für die integrierte Gruppe Benutzer mit eingeschränkten Rechten, eine Instanz pro Anmeldung, ohne Zeitlimit.

Das Agent-Fenster ist ausgeblendet. Ab Windows Server 2022 (Build 20348) startet die Aufgabe ihn über conhost --headless – dann blitzt nicht einmal kurz ein Konsolenfenster auf.

Ein Agent pro Sitzung

Pro Sitzung läuft höchstens eine Agent-Instanz. Startet die Aufgabe erneut – etwa nach einer Wiederverbindung –, weckt der neue Aufruf die laufende Instanz, die ihre Anmeldephase neu beginnt, und beendet sich. Beim Warten schläft der Agent und verbraucht praktisch keine Ressourcen.

Welcher Drucker gilt?

Der Agent nimmt die SID des Benutzers und die Gruppen-SIDs aus dem Anmeldetoken – verschachtelte Gruppen sind dort bereits enthalten, eine AD-Abfrage zur Gruppenauflösung ist nicht nötig. Dann gilt eine feste Reihenfolge:

  1. Direkte Benutzerzuweisung (per SID, sonst per Anmeldename)
  2. Gruppenzuweisung mit der kleinsten Prioritätszahl (bei Gleichstand alphabetisch nach Name)
  3. Keine Zuweisung – der Standarddrucker wird nicht verändert

Eine Prüfung, Schritt für Schritt

Jede Prüfung durchläuft dieselben Schritte:

  1. „Windows verwaltet Standarddrucker“ für den Benutzer abschalten (HKCU\…\Windows NT\CurrentVersion\Windows, LegacyDefaultPrinterMode = 1) – einmal pro Sitzung.
  2. Aktuellen Standarddrucker lesen. Passt er zur Zuweisung (Platzhalter * und ? erlaubt), passiert nichts.
  3. Sonst in der Sitzung einen passenden Drucker suchen. Fehlt ein Netzwerkdrucker (\\server\freigabe), wird er verbunden – höchstens ein Versuch alle 5 Minuten.
  4. Drucker als Standard setzen, zurücklesen und die Änderung protokollieren: Standarddrucker gesetzt: '…' (vorher: '…').

Warum die Windows-API in RDP-Sitzungen wichtig ist

In RDP-Sitzungen speichert Windows den Standarddrucker pro Sitzung (HKCU\…\Windows\SessionDefaultDevices). Der Registry-Wert HKCU\…\Windows\Device und WScript.Network erfassen dort nicht den wirksamen Standarddrucker. WePrintEasy liest und setzt ihn deshalb über die Windows-API-Funktionen GetDefaultPrinter und SetDefaultPrinter – genau den, den die Sitzung tatsächlich verwendet.

Anmeldephase und Sitzungsüberwachung

Umgeleitete Client-Drucker erscheinen zeitverzögert nach der Anmeldung und werden dann gern zum Standarddrucker. Deshalb prüft der Agent in der Anmeldephase (Standard 120 Sekunden) alle 3 Sekunden. Danach prüft er – wenn „Während der Sitzung überwachen“ aktiv ist – im eingestellten Intervall (Standard 30 Sekunden, mindestens 5), während der ganzen Sitzung oder für eine begrenzte Anzahl Minuten.

Vor jeder Prüfung vergleicht der Agent Zeitstempel und Größe der Konfigurationsdatei und lädt sie bei einer Änderung neu. Neue Zuweisungen erreichen laufende Sitzungen so ohne Neuanmeldung.

Protokoll

Jeder Benutzer hat ein Protokoll unter %LOCALAPPDATA%\WePrintEasy\agent.log mit Vorgabe, jeder Korrektur und Fehlern – in der Sprache, die in der Konfiguration eingestellt ist (Deutsch oder Englisch). Warnungen, die sich in jeder Runde wiederholen würden, werden nur bei einer Änderung protokolliert. Ab 1 MB wird das Protokoll nach agent.log.old verschoben. Die Druckerverwaltung zeigt es im Reiter „Benutzer prüfen“.

Optional: RDS-Richtlinie

Mit der Option „Standarddrucker des Client-PCs nicht übernehmen“ setzt der Installer zusätzlich die Richtlinie Standardclientdrucker nicht als Standarddrucker in einer Sitzung festlegen (HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services, fForceClientLptDef = 0). Alternativ konfigurieren Sie sie per Gruppenrichtlinie.

Agent manuell in einer Benutzersitzung testen

powershell -ExecutionPolicy Bypass -File 'C:\Program Files\WePrintEasy\WePrintEasy-Agent.ps1' -Once -Verbose

Mehr dazu: Verwaltung · Fehlersuche · Systemvoraussetzungen

Jedem Benutzer der richtige Drucker – ab der nächsten Anmeldung.

Probieren Sie WePrintEasy zuerst auf einem Testserver aus. Die Einrichtung dauert etwa zwei Minuten.

Kostenlos · MIT-Lizenz