Umgeleitete Drucker löschen (Script)

Ich habe ein Script erstellt, womit per GPO (Benutzerkonfiguration / Windowseinstellungen /Skripts (Anmelden/Abmelden)/Abmelden) alle umgeleiteten Druckerobjekte beim Abmelden des RDS Benutzers gelöscht werden.



Es wird das Verzeichnis „c:\start\Benutzername“ erstellt, der original Registrieeintrag HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices in die original.reg exportiert alle Einträge mit „umgeleitet“ entfernt, als filtered.reg gespeichert und importiert. Im Anschluss werden die angelegten Dateien gelöscht. Im Verzeichnis c:\start\benutzername liegt dann eine Logdatei mit den Druckern, welche nach der Bereinigung noch vorhanden sind.


(Wenn der Text kopiert wird, bitte auf die “ “ achten, diese werden oft falsch übernommen!!)


@echo on & setlocal 

::REM EDIT VARIABLES

md c:\start\%username%

set wd=c:\start\%username%

set originalreg=%wd%\original.reg

set filteredreg=%wd%\filtered.reg

set regkey=HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices

set filter=umgeleitet

::REM END VARIABLES

::REM useage:

call filter "regkey","whattofilter"

reg export "%regkey%" "%originalreg%"


if exist "%originalreg%" ( goto true ) else ( goto end )


:true find /v /i "%filter%" < %originalreg% > %filteredreg% > c:\start\%username%\drucker.log

reg delete "%regkey%" /f

reg import %filteredreg%

del %originalreg% /F

del %filteredreg% /F

:end

endlocal