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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119466
Url: https://administrator.de/contentid/119466
Ausgedruckt am: 24.11.2024 um 16:11 Uhr