Druckertreiber von Netzwerkdruckern deinstallieren
Hallo Zusammen,
ich versuche via Skript einen Netzwerkdrucker RICOH Aficio 4100N zu deinstallieren.
Auf jedem Client soll ein Script laufen und den Netzwerkdrucker und die Treiber deinstallieren.
Ich muss nur mit Windows-Bordmitteln versuchen den Drucker un die Treiber sauber zu deinstallieren. Ich kann/darf keine externen Tools hier bei uns im Unternehemen verwenden.
Hier nun zum Skript und mein Problem:
Der Befehl
...
rundll32 printui.dll,PrintUIEntry /dl /n %DruckerName%
...
funktioniert einwandfrei im Skript und löscht aber nur den Drucker aus der Ansicht "Drucker und Faxgeräte".
Nun versuche ich weiterhin im Skript
...
set ModellDruckerTreiber="RICOH Aficio SP 4110N PCL 6"
...
rundll32 printui.dll,PrintUIEntry /dd /m %ModellDruckerTreiber%
...
Dabei kommt die Meldung:
Der Vorgang konnte nicht abgeschlossen werden.
Der angegebene Druckertreiber ist in Verwendung.
Ich habe die gleiche Syntax verwendet, wie in den rundll32 printui.dll,PrintUIEntry /? Beispielen angegeben.
Lt. der Hilfe soll der Schalter /dd den Treiber entfernen. Macht er aber leider nicht.
Wie kann ich den Druckertreiber hier sauber im Skript deinstallieren? Könnt ihr mir weiterhelfen?
Habe auch mal bei WMIC nachgesehen. Hier kann ich aber nur ALLE Printer löschen, das soll aber nicht sein. Vor allem möchte ich versuchen die Treiber zu deinstallieren. Möglichst ohne Reboot!
Vielleicht habe Ihr aber auch generell eine andere Idee, denn mein Ziel/Aufgabe ist es, alle Änderungen, die bei der automatisierten Installation des Netzwerkdruckers gemacht werden (wird ebenfalls über rundll32 printui.dll,PrintUIEntry durchgeführt, Treiberinstallations usw.)
mittels dieser Deinstallationsroutine ggf. wieder rückgängig machen können.
Ich habe mir in einer virtuelle Testumgebung schon mal mittels dem Tool "Total Uninstall v4.6.0" (30Tg Testversion) angesehen, welche Dateien, Verzeichnisse und Registry-Keys angelegt werden. Bei Bedarf möchte ich diese Keys und Dateien mittels dieser Uninstallroutine wieder rückgängig machen. Wie gesagt, ich kann/darf keine externen, kommerziellen Tools bei uns verwenden. Soll alles über Windows-Bordmittel laufen.
Danke schon mal im voraus für Eure Unterstützung.
Grüße,
Flauschbobbel
ich versuche via Skript einen Netzwerkdrucker RICOH Aficio 4100N zu deinstallieren.
Auf jedem Client soll ein Script laufen und den Netzwerkdrucker und die Treiber deinstallieren.
Ich muss nur mit Windows-Bordmitteln versuchen den Drucker un die Treiber sauber zu deinstallieren. Ich kann/darf keine externen Tools hier bei uns im Unternehemen verwenden.
Hier nun zum Skript und mein Problem:
Der Befehl
...
rundll32 printui.dll,PrintUIEntry /dl /n %DruckerName%
...
funktioniert einwandfrei im Skript und löscht aber nur den Drucker aus der Ansicht "Drucker und Faxgeräte".
Nun versuche ich weiterhin im Skript
...
set ModellDruckerTreiber="RICOH Aficio SP 4110N PCL 6"
...
rundll32 printui.dll,PrintUIEntry /dd /m %ModellDruckerTreiber%
...
Dabei kommt die Meldung:
Der Vorgang konnte nicht abgeschlossen werden.
Der angegebene Druckertreiber ist in Verwendung.
Ich habe die gleiche Syntax verwendet, wie in den rundll32 printui.dll,PrintUIEntry /? Beispielen angegeben.
Lt. der Hilfe soll der Schalter /dd den Treiber entfernen. Macht er aber leider nicht.
Wie kann ich den Druckertreiber hier sauber im Skript deinstallieren? Könnt ihr mir weiterhelfen?
Habe auch mal bei WMIC nachgesehen. Hier kann ich aber nur ALLE Printer löschen, das soll aber nicht sein. Vor allem möchte ich versuchen die Treiber zu deinstallieren. Möglichst ohne Reboot!
Vielleicht habe Ihr aber auch generell eine andere Idee, denn mein Ziel/Aufgabe ist es, alle Änderungen, die bei der automatisierten Installation des Netzwerkdruckers gemacht werden (wird ebenfalls über rundll32 printui.dll,PrintUIEntry durchgeführt, Treiberinstallations usw.)
mittels dieser Deinstallationsroutine ggf. wieder rückgängig machen können.
Ich habe mir in einer virtuelle Testumgebung schon mal mittels dem Tool "Total Uninstall v4.6.0" (30Tg Testversion) angesehen, welche Dateien, Verzeichnisse und Registry-Keys angelegt werden. Bei Bedarf möchte ich diese Keys und Dateien mittels dieser Uninstallroutine wieder rückgängig machen. Wie gesagt, ich kann/darf keine externen, kommerziellen Tools bei uns verwenden. Soll alles über Windows-Bordmittel laufen.
Danke schon mal im voraus für Eure Unterstützung.
Grüße,
Flauschbobbel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 88951
Url: https://administrator.de/contentid/88951
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
10 Kommentare
Neuester Kommentar
Servus,
mich irritiert folgendes:
Im Zusammenhang mit:
wenn ich nicht ganz daneben liege - war DL für den Lokalen Drucker.
Probier mal dn
bzw. zuerst /dd - dann /dn.
gruß
mich irritiert folgendes:
via Skript einen Netzwerkdrucker RICOH Aficio 4100N zu deinstallieren.
Im Zusammenhang mit:
rundll32 printui.dll,PrintUIEntry /dl /n usw. usf.
wenn ich nicht ganz daneben liege - war DL für den Lokalen Drucker.
Probier mal dn
bzw. zuerst /dd - dann /dn.
gruß
ok..
der ist aber nicht der std. Drucker ? *duck*
Probier mal einen Neustart nach dem /dl - vielleicht klapperts dann besser...
Ps:
der ist aber nicht der std. Drucker ? *duck*
Probier mal einen Neustart nach dem /dl - vielleicht klapperts dann besser...
Ps:
rundll32 printui.dll,PrintUIEntry /dd /m "RICOH Aficio SP 4110N PCL 6"
-ohne Variable - was kommt dabei raus?
rundll32 printui.dll,PrintUIEntry /dn /n %Druckername% <- wobei %Druckername% der Freigabename ist!
net stop spooler
net start spooler
rundll32 printui.dll,PrintUIEntry /dd /m %ModellDruckerTreiber%
Warum so? /dl löscht einen lokalen Drucker, d.h., der wird dann zwar nicht mehr angezeigt, aber die Netzwerkverbindung ist weiterhin vorhanden, deswegen die anschließende Fehlermeldung. Also zwingend /dl.
Spooler stoppen und starten muss sein, weil Dateien in Gebrauch sind.
Als Druckernamen den Freigabenamen verwenden: Damit habe ich mich mal herumgeärgert, ist unter 2000 aber anders, als unter 2003!
Und dann Treiber weg. %ModellDruckerTreiber% = Name, wie der Treiber angezeigt wird.
Mein Vorschlag dazu. Viel Erfolg, ich leide mit Dir!
Bonkers
net stop spooler
net start spooler
rundll32 printui.dll,PrintUIEntry /dd /m %ModellDruckerTreiber%
Warum so? /dl löscht einen lokalen Drucker, d.h., der wird dann zwar nicht mehr angezeigt, aber die Netzwerkverbindung ist weiterhin vorhanden, deswegen die anschließende Fehlermeldung. Also zwingend /dl.
Spooler stoppen und starten muss sein, weil Dateien in Gebrauch sind.
Als Druckernamen den Freigabenamen verwenden: Damit habe ich mich mal herumgeärgert, ist unter 2000 aber anders, als unter 2003!
Und dann Treiber weg. %ModellDruckerTreiber% = Name, wie der Treiber angezeigt wird.
Mein Vorschlag dazu. Viel Erfolg, ich leide mit Dir!
Bonkers
Ok, ich geh mal so stückweise da durch:
Zuerst mal: Ich hab das wohl falsch verstanden, dass alle Drucker lokal angelegt sind. Ich dachte, dass Du auf einen freigegebenen Netzwerkdrucker losgehst. Jetzt erklärt sich auch die Porteinrichtung. Gut, dass wir also darüber gesprochen haben.
Dann: Wenn Du mit einer Inf-Datei installiert hast, müsste das doch rückwärts genauso möglich sein, schon getestet? Ich habe noch nie mit inf-Dateien Drucker installieren, deswegen habe ich mich damit noch nicht beschäftigt.
Die Meldung auf den Versuch mit /dn ist dann auch logisch, kann also abgehakt werden.
Och! Ich hab erst jetzt das Ende gelesen...
Kein Thema nicht, wenn sich alle Fehler so auflösen lassen, wird wenigstens irgendwann mein Buch voll, was ich immer schon mal schreiben wollte
Bonkers
Zuerst mal: Ich hab das wohl falsch verstanden, dass alle Drucker lokal angelegt sind. Ich dachte, dass Du auf einen freigegebenen Netzwerkdrucker losgehst. Jetzt erklärt sich auch die Porteinrichtung. Gut, dass wir also darüber gesprochen haben.
Dann: Wenn Du mit einer Inf-Datei installiert hast, müsste das doch rückwärts genauso möglich sein, schon getestet? Ich habe noch nie mit inf-Dateien Drucker installieren, deswegen habe ich mich damit noch nicht beschäftigt.
Die Meldung auf den Versuch mit /dn ist dann auch logisch, kann also abgehakt werden.
Och! Ich hab erst jetzt das Ende gelesen...
Kein Thema nicht, wenn sich alle Fehler so auflösen lassen, wird wenigstens irgendwann mein Buch voll, was ich immer schon mal schreiben wollte
Bonkers