Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Druckertreiber von Netzwerkdruckern deinstallieren

Frage Entwicklung Batch & Shell

Mitglied: Flauschbobbel

Flauschbobbel (Level 1) - Jetzt verbinden

02.06.2008, aktualisiert 03.06.2008, 30191 Aufrufe, 10 Kommentare

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
Mitglied: 60730
02.06.2008 um 18:32 Uhr
Servus,

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ß
Bitte warten ..
Mitglied: Flauschbobbel
02.06.2008 um 19:01 Uhr
Hallo TimoBeil,

der Drucker ist unter "Drucker und Faxgeräte aufgelistet.
Verwende ich /dn ( rundll32 printui.dll,PrintUIEntry /dn /n %Druckername% )
erhalte ich die Meldung:

Die Druckerverbindung kann nicht entfernt werden.Entweder der eingegebene Druckername ist ungültig oder der eingegebene Drucker ist nicht mehr mit dem Server verbunden.
Klicken Sie auf Hilfe um weitere Informationen zu erhalten.

Verwende ich den Parameter /dl kann ich den Drucker löschen.

rundll32 printui.dll,PrintUIEntry /dd /m %ModellDruckerTreiber%
bringt nix, dann erhalte ich wie oben beschrieben die Meldung:

Der Vorgang konnte nicht abgeschlossen werden.
Der angegebene Druckertreiber ist in Verwendung

Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: 60730
02.06.2008 um 19:24 Uhr
ok..

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?
Bitte warten ..
Mitglied: Dynadrate
02.06.2008 um 19:28 Uhr
Ich würde zwischendurch den spooler durchstarten:
net stop spooler
net start spooler
Bitte warten ..
Mitglied: Flauschbobbel
02.06.2008 um 20:20 Uhr
Nein, der ist nicht der Standarddrucker.
Ein Neustart nach dem /dl hat nichts gebracht.

Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: Flauschbobbel
02.06.2008 um 20:25 Uhr
Ah, sorry hatte vergessen: Ohne Variable besteht das Problem auch nach wie vor.
Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: Flauschbobbel
02.06.2008 um 20:26 Uhr
Hallo Dynadrate,

leider hat das auch nichts gebracht.

Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: 60897
02.06.2008 um 23:00 Uhr
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
Bitte warten ..
Mitglied: Flauschbobbel
03.06.2008 um 17:49 Uhr
Hallo Bonkers,

danke für Deine Info.

Auf allen meinem Clients (WinXP SP2) in einem Standort wurde mittels einem Skript die Drucker installiert und der dazugehörige Standard-TCPIP-Port zuvor mittels REG ADD in der Registry angelegt.
Anschliessend habe ich auf des Clients den Spooler gestoppt/wieder gestartet (das Ganze natürlich im Skript)
und danach den Drucker hinzugefügt wie nachfolgend beschrieben.

Hier die Syntax, die ich beim Anlegen auf den Clients verwendet habe:
01.
... 
02.
::  	Druckertreiber hinzufuegen 
03.
	rundll32 printui.dll,PrintUIEntry /ia /m %ModellDruckerTreiber% /f %INFfile% /q 
04.
... 
05.
::  	Logischen Drucker einrichten 
06.
	rundll32 printui.dll,PrintUIEntry /if /b %DruckerName% /f %INFfile% /r"%IPPortName%" /m %ModellDruckerTreiber% /q 
07.
...
Das funktioniert auch einwandfrei.
Die Drucker wurden angelegt, es wurde kein Standarddrucker festgelegt (ist beabsichtigt)und auch keine Freigabe für den Drucker erstellt. Drucken funktioniert enwandfrei.
Der Drucker auf den Clients taucht als weiterer zusätzlicher Drucker auf und kann bei Bedarf angesprochen werden.
Der Drucker ist doch dann ein lokaler Drucker auf jedem Client, der eben nicht direkt phsikalisch am Client angeschlossen ist, sondern eben als Netzwerkdrucker? Oder?

So weit so gut. Ich habe nun Deinen Vorschlag versucht:

rundll32 printui.dll,PrintUIEntry /dn /n %DruckerName%

Dabei erhalte ich die Meldung:
Die Druckerverbindung kann nicht entfernt werden. Entweder der eingegebene Druckername ist ungültig,oder der angegebene Drucker ist nicht mehr mit dem Server verbunden. Klicken Sie auf Hilfe...

%DruckerName% ist genau der Name den ich bei der Anzeige "Drucker und Faxgeräte" als Druckername angezeigt bekomme.
In meiner Testumgebung wäre das als Beispiel der Name: "Drucker_Schalter_192.168.1.226"
Was meinst Du mit Freigabename? Ich habe den Drucker nicht freigegeben.
Zur Sicherheit habe ich auch den Printer manuell installiert mit einem kürzeren Druckernamen (7 Zeichen) und ohne "_" und ohne "."
Das Ergebnis ist aber das gleiche. Siehe Meldung oben.

Ich habe auch mal rundll32 printui.dll,PrintUIEntry /dn /n "\\MeinComputername\Drucker_schalter_192.168.1.226" versucht, aber das Ergebnis bleibt gleich.

net stop spooler
net start spooler

rundll32 printui.dll,PrintUIEntry /dd /m "RICOH Aficio SP 4110N PCL 6"

bringt die Meldung:
Der Vorgang konnte nicht abgeschlossen werden. Der angegebene Druckertreiber ist in Verwendung.


Oh Bonkers,
ich glaube ich habe eben beim Schreiben meinen Fehler gefunden:
Der Druckertreiber heißt: "RICOH Aficio SP 4100N PCL 6" !!!
Eine "1" zuviel.

Nun scheint auch das Skript zu laufen:
rundll32 printui.dll,PrintUIEntry /dl /n %DruckerName% --> löscht den lokalen Drucker
rundll32 printui.dll,PrintUIEntry /dd /m "RICOH Aficio SP 4100N PCL 6" ---> Entfernt die Treiber
Stop/Start Spooler

Nun muss ich nur noch einige Registry-Keys und Files/Folders über das Skript löschen. Dann sollte der Cleint wieder aufgeräumt sein.
Danke für Eure Unterstützung!!


Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: 60897
03.06.2008 um 18:05 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Microsoft Office
gelöst Office 365 Visio 2016 bzw. Project 2016 Deinstallieren (3)

Frage von Bommi1961 zum Thema Microsoft Office ...

Windows 7
Script zum Installieren und Deinstallieren eines Treibers (3)

Frage von 2Seiten zum Thema Windows 7 ...

Batch & Shell
Druckertreiber per Powershell auf PC installieren - Nach CSV Vorgabe (1)

Frage von pixel0815 zum Thema Batch & Shell ...

Drucker und Scanner
Suche Druckertreiber für diverse HP (7)

Frage von Y3shix zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...