PDA

View Full Version : IBM i Access Client Solutions RDS w2k16 Standarddrucker in Druckersitzung



bfelbinger
08-06-17, 11:05
Hallo zusammen,

Wir verwenden in RDS w2k16 ACS Version 1.1.6.2 Build id 7031 und da habe ich folgendes Problem:

In der RDP-Sitzung am RDS-Server wird der Standarddrucker des Client sehr schön mitgenommen und ist auch in einer Bildschirm 5250-Sitzung als Standard verfügbar.
Bei einer Druckersitzung wird dieser jedoch nicht automatisch vorgeschlagen sondern es wird der Standarddrucker vom Server verwendet und der Benutzerdrucker müsste manuell umgestellt werden was jedoch bei einem Wechsel des Benutzerarbeitsplatzen wiederholt werden müsste und bei uns häufig vorkommt.
Gibt es irgendwo einen Parameter oder sonstiges wo man dies beeinflussen kann damit der Standarddrucker so wie im guten alten CA400 automatisch immer der mitgenommene Standarddrucker der Sitzung ist?


Vielen Dank im Voraus und Grüße aus Österreich

Bernhard

Fuerchau
08-06-17, 12:16
Leider nein.
Der Drucker wird in der Sitzungsdatei (.ws) eingetragen. Den Begriff "Standarddrucker" gibt es als Namen so ja nicht.
Wenn also eine Sitzung aufgemacht wird, nimmt diese den Drucker, der der Sitzung zugeordnet ist.
Kommst du nun mit RDP und diversen Druckern, so definiert Windows diesen als Default für die Sitzung.
Erst wenn du nun eine neue CA-Sitzung erstellst, kann der neue Standarddrucker gefunden werden.
Bestehende Sitzungen verweisen ja immer noch auf den eingestellten Drucker.

Da die .ws-Dateien jedoch Textdateien sind, kann dich doch niemand hindern, statt der Sitzung ein VBS/WSH-Script zu starten, dass die .WS-Datei bzgl. des "Standard"-Druckers anpasst.

Alternativ erstelle in Windows einen Drucker der "Standard" heißt. Du musst ja nicht das Modell HP/Epson/Blabla nehmen.
Wenn dann auch auf den Clients ein Drucker mit dem Namen "Standard" existiert, sind doch alle Probleme gelöst.

Allerdings weiß ich nicht, was RDP da macht, wenn es bereits einen Drucker desselben Namens gibt.
Heißt der RDP-Drucker dann "Standard(1)"?

bfelbinger
08-06-17, 19:47
Danke für die rasche Antwort.
Also das mit dem Namen Standard funktioniert leider nicht denn der Name ändert sich in Standard (umgeleitet xy) und ist dann bei jedem Client ein anderer Name je nachdem wie viele Drucker dort in der Reihenfolge installiert sind.
Die Zuweisung des Sitzungsstandarddruckers funktioniert bei den 5250 Bildschirmsitzungen schon nur bei einer Druckersitzung habe ich das Problem mit ADS am RDS2016er.
Das mit der .ws werde ich auch versuchen jedoch muss ich mich erst schlau machen wie man den RDP Standarddrucker auslesen kann.
Vielleicht hast Du dazu noch einen Tipp

Dankeschön
Gruß Bernhard

Fuerchau
09-06-17, 09:26
Dazu habe ich auf die Schnelle dies gefunden:
wmic printer where "Default = 'True'" get Name
Ggf. in Textdatei umleiten und wieder auslesen.

bfelbinger
09-06-17, 10:34
Danke, funktioniert klasse.

Ich habe inzwischen mit AutoIT ein wenig experimentiert um den Standarddrucker herauszufinden.

$default1 =
RegEnumKey("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\SessionDefaultDevices",1) ;;Hier wird S- xyz ausgelesen wo sich die Device versteckt
$default2 = "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\SessionDefaultDevices"&$default1
$default = RegRead($default2,"Device")
$defPrtNm = StringLeft($default, StringInStr($default,",")-1)

Hoffe nur das die S- xyx immer nur 1x je User vorkommt und nicht auf 2 oder so verschoben wird.

Gruß Bernhard