ollibolli
Goto Top

Drucker lassen sich in einer Terminalsession nicht mehr per Skript umbenenennen (Windows Server 2008 Standard)

Seit WinServer 2008 lassen sich in einer Terminalsession umgeleitete Drucker nicht mehr umbenennen, weder per Skript, noch per Hand.
Es kommt eine Fehlermeldung, das ich keine Rechte dafür besitze. Habe die ganze GP schon durchsucht und alles was mit Druckern zu tun hat erlaubt.
Ich weiß auch, dass man in der GP auf doppelte Verneinung achten muss!
RDP-Verbindung erfolgt als Administrator, Druck-Operator und Hauptbenutzer. Kein ADS vorhanden.
In der GP wurden Druckerverwaltungsrechte für die Terminaluser erlaubt.

Hier mein Skript, welches bis Windows Server 2003 problemlos funktionierte (als Administrator oder Hauptbenutzer):

:DefDefaultPrinter
REM ########### Standarddrucker umbenennen
SetLocal

REM ########### ca. 15 Sekunden Wartezeit, damit der Terminalserver alle vorhandenen lokalen Drucker mappen kann
ping 127.0.0.1 -n 15 >NUL

REM ########### Den Wert für den Standarddrucker aus der lokalen Registry des Clients auslesen
"%SystemRoot%\Application Compatibility Scripts\acregl.exe" DefPrint.cmd DefaultPrinter "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows" "Device" ""
If Not Exist DefPrint.cmd (Call :Error 1) && (Goto EoF)
call DefPrint.cmd
del DefPrint.cmd
If Not Defined DefaultPrinter (Call :Error 2) && (Goto EoF)

REM ########### „Rattenschwanz“ im Druckernamen der Terminalsession wird gelöscht
for /f "tokens=1 delims=," %%i in ('"echo %DefaultPrinter%"') do set OldPrinterString=%%i
for /f "tokens=1 delims=(" %%j in ('"echo %DefaultPrinter%"') do set PrinterString=%%j
rundll32 printui.dll,PrintUIEntry /Xs /n "%OldPrinterString%" printername "%PrinterString%"
EndLocal
Goto EoF

REM ########### Fehlerbehandlung
:Error
msg %SessionName% /W Der Drucker konnte nicht initialisiert werden. Bitte informieren Sie den Administrator. (Error Code: %1)
EndLocal
Goto EoF

:EoF
exit

Content-Key: 119466

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

Printed on: April 19, 2024 at 06:04 o'clock