Hallo Board,
ich bin leider nicht fündig geworden, weshalb ich hier mal mein Anliegen Kund tue :)
Im Laufe der Zeit wurden in einer Windows SV 2008 Domäne immer wieder Drucker ersetzt. Einige User haben so Drucker-Leichen angesammelt.
Da so mancher Drucker nicht mehr auf der GUI löschbar sind, möchte ich dies über ein Skript erreichen.
Da ich mich beruflich mittlerweile etwas in eine andere Richtung entwickelt habe, komme ich damit nicht mehr so regelmäßig in Kontakt und brauche eure Unterstützung.
Ich müsste nun also bei allen Usern in der Registry die kompletten Schlüssel unter HKEY_USERS\....(alle)....\Printers\Connections und natürlich unter HKEY_CURRENT_USER\Printers\Connections löschen.
...oder zumindest die "Leichen". Ich war dann mal am Basteln und bin so weit gekommen:
@ECHO off
SET sterm=,,
SET sfile=prelim.txt
SET sfile2=filter1.txt
SET sfile3=filter2.txt
SET sfile4=todel.txt
REG QUERY HKCU /s /f "%sterm%" /k>> %sfile%
REG QUERY HKU /s /f "%sterm%" /k>> %sfile%
FINDSTR /i "hkey" %sfile%>%sfile2%
DEL %sfile%
FINDSTR /i "Printers" %sfile2%>%sfile3%
DEL %sfile2%
FINDSTR /i "Connections" %sfile3%>%sfile4%
DEL %sfile3%
FOR /F %%i in (%sfile4%) do REG DELETE "%%i" /f
DEL %sfile4%
ECHO Die Netzwerkdrucker aller Benutzer wurden gelöscht.
net stop Spooler
net start spooler
gpupdate /force /Logoff
Nun funktioniert das mit einigen Druckern, aber nicht mit allen. Beim Löschen wird auch öfter gemeldet, dass der Registrierungsschlüssel nicht gefunden wurde.
Auf den ersten Blick sind das aber nur Drucker, die aktuell per GPO auch den Usern zugewiesen wurden. Wäre ja so weit nicht schlimm.
Wie schätzt ihr die Zuverlässigkeit des Skripts ein?
Wann darf ich /Logoff mit gpupdate verwenden? Ich würde das Skript gerne per GPO mit einmaliger Ausführung pro PC verteilen. Wo würdet ihr das Skript in der GPO platzieren?
/Boot wäre ja auch eine Alternative.. aber ich habe ehrlich gesagt etwas Angst, dass ich damit eine Bootschleife bastele .
LG und schönes Wochenende
ChriDaHub