derwowusste
Goto Top

2016 RDS: Probleme mit Easyprint

Moin Kollegen.

Wir nutzen Server 2016 als RDS Host (Terminalserver). Die Drucker der Win10-Clients werden per easy-Print (also der default-Einstellung) in die Sitzung umgeleitet.

Problem: neuerdings ist täglich bei mehreren Nutzern eine Neuverbindung nötig, um weiterhin drucken zu können. Irgendwann stellt die Druckfunktion einfach Ihren Dienst ein und ohne Fehlermeldung landen die Druckaufträge im Nirvana. Workaround: man muss die Sitzung kurz trennen und neu öffnen, dann geht es sofort wieder. Das nervt doch ziemlich. An den Druckertreibern wurde nichts geändert.

Wenn ich im Fehlerzustand eine Testseite vom Drucker drucken lasse, kommt folgende Fehlermeldung, die bei einem normalem Druckversuch nicht einmal kommt:
clipboard01

Hat zufällig jemand Ähnliches erlebt und eine Idee?
Die OS' sind alle aktuell gehalten, die Druckertreiber auch - aber an denen haben wir nichts geändert. Ereignisprotokoll ist sauber.

Content-Key: 340740

Url: https://administrator.de/contentid/340740

Printed on: April 23, 2024 at 10:04 o'clock

Mitglied: 133417
Solution 133417 Jun 15, 2017 updated at 09:48:10 (UTC)
Goto Top
Moin.
Versuche doch mal ProcessMonitor parallel zu diesem Dialog laufen zu lassen um heraus zu bekommen um welches Verzeichnis es hier geht, bzw was dabei im Hintergrund schief läuft.

Gruß
Member: DerWoWusste
DerWoWusste Jun 15, 2017 updated at 10:41:10 (UTC)
Goto Top
Hi.

Werde ich machen, sobald der Fehler wieder kommt... kann ein paar Stunden dauern.
Member: DerWoWusste
DerWoWusste Jun 16, 2017 at 08:54:16 (UTC)
Goto Top
Göttlich... es ist tatsächlich auf Dateiebene.
Wenn man remote angemeldet ist und auf einem umgeleiteten Drucker (hier: "Microsoft print to PDF [redirected 24]") einfach nur eine Testseite drucken möchte, muss ein Verzeichnis %temp%\24 bestehen. Ist das nicht da, meldet procmon
Prozess splwow64.exe
Operation: IRP_MJ_Create
Path: %temp%\24
Result: Name not found

Lege ich dieses leere Verzeichnis manuell an, kann sofort wieder gedruckt werden. Das ist doch krank. Der Server ist nicht ausgelastet, aber bekommt es hin und wieder nicht hin, dort ein leeres Verzeichnis anzulegen? Das ist echt schwach. Ich fürchte, da werde ich pro Nutzersitzung auslesen müssen, welche Nummer das ist und dieses Verzeichnis per Skript anlegen, wenn es nicht da ist.

Ich danke Dir.
Mitglied: 133417
133417 Jun 16, 2017 at 08:59:47 (UTC)
Goto Top
Oh hauahauaha, das gibt ein paar Hiebe mit dem Stock für die Entwickler face-wink.
Member: DerWoWusste
DerWoWusste Jun 16, 2017 updated at 12:41:35 (UTC)
Goto Top
So, Problem gelöst:

in den Grundeinstellungen eines RDS bekommt jeder Nutzer bei Anmeldung ein numeriertes per-session Tempdir, welches unterhalb von %localappdata%\temp (%appdata\temp\24 zum Beispiel) angelegt wird mit der sessionid als Nummer und beim Abmelden auch wieder gelöscht wird.
(siehe https://technet.microsoft.com/de-de/library/cc755098(v=ws.11).aspx )

Warum auch immer hat unser Server dieses Verzeichnis hin und wieder einfach nicht angelegt oder es ist gar während der Sitzung verschwunden.
Ich habe nun per GPO angeordnet "keine temporären Ordner pro Sitzung verwenden", was das Problem definitiv löst.
Dazu noch einen Task einpflegen, der als Systemkonto bei allen aus %temp% rauslöscht, was älter als 14 Tage ist - fertig:
dir c:\users /b >%temp%\users.txt
for /f %%a in (%temp%\users.txt) do forfiles /p "c:\users\%%a\AppData\Local\temp" /d -14 /S /c "cmd /c del @file /s /q  
Member: Snowman25
Snowman25 Jun 17, 2017 at 10:43:04 (UTC)
Goto Top
Zitat von @DerWoWusste:

Warum auch immer hat unser Server dieses Verzeichnis hin und wieder einfach nicht angelegt oder es ist gar während der Sitzung verschwunden.
Ich habe nun per GPO angeordnet "keine temporären Ordner pro Sitzung verwenden", was das Problem definitiv löst.

Während der Sitzung verschwunden, klingt stark nach cleanmgr.msc oder ähnlichem, welches dir diese weglöscht.
Member: DerWoWusste
DerWoWusste Jun 17, 2017 at 11:31:00 (UTC)
Goto Top
Hi. Wie kommst du darauf? Nein, cleamgr läuft da nicht.