fireandice
Goto Top

Alle Netzwerkdruckerverbindungen löschen mit Loginscript

Hallo zusammen!

Wir arbeiten in folgender Umgebung:
Windows 2003 SBS
Windows 2000 Clients
Windows XP Clients

Mit dem Befehl
"rundll32 printui.dll,PrintUIEntry /in /n \\servername\druckername"
stelle ich Verbindungen zu den Druckern am Server her, was auch funktioniert.

Da bestimmte User an verschiedenen Rechnern noch alte Netzwerkdrucker eingerichtet haben, deren Namen ich aber im Einzelnen nicht weiß, möchte ich zu Beginn des Loginscripts erst einmal sämtliche Druckerverbindungen löschen, um auf dieser sauberen Grundlage die neuen Verbindungen herzustellen.

Der Löschbefehl "rundll32 printui.dll,PrintUIEntry /dn /n \\servername\druckername" verlangt immer einen Druckernamen, stimmts?

Im Forum habe ich den Befehl
"\\servername\verzeichnis\con2prt.exe /f"
gefunden. Wenn ich diesen Befehl ausführe, erhalte ich jedoch die Fehlermeldung "\\servername\verzeichnis\con2prt.exe ist keine zulässige Win32-Anwendung"

Läuft con2prt nicht unter SBS 2003/XP oder habe ich einen Fehler gemacht?
Kennt jemand eine Alternative oder eine bessere Lösung?

Vielen Dank schonmal

Gruß
fireandice

Content-Key: 19025

Url: https://administrator.de/contentid/19025

Printed on: April 19, 2024 at 12:04 o'clock

Member: FaBMiN
FaBMiN Nov 04, 2005 at 14:01:23 (UTC)
Goto Top
<font class = code>net use /delete</font>
bzw.
<font class = code>net use x: /delete</font>
Member: fireandice
fireandice Nov 04, 2005 at 14:30:25 (UTC)
Goto Top
Danke für die schnelle Antwort...

Habe ich vergessen zu erwähnen: den Befehl net use habe ich bereits ausprobiert.

Für die Verbindung und das Trennen von Netzlaufwerken funktioniert er, bei Druckern bleibt der Ausgangszustand aber unverändert bestehen.

fireandice
Member: gemini
gemini Nov 04, 2005 at 22:40:25 (UTC)
Goto Top
Versuch mal, obs damit funktioniert
strPrintSrv = "DeinDruckServer"  
Set WshNetwork = Wscript.CreateObject("Wscript.Network")  
strComputer = LCase(WshNetwork.ComputerName)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _  
strComputer & "\root\cimv2")  
Set colPrinters =  objWMIService.ExecQuery("Select * from Win32_Printer")  
For Each objPrinter in colPrinters
If Left(objPrinter.Name, 2) = "\\" Then  
WshNetwork.RemovePrinterConnection "\\" & strPrintSRV & "\" & _  
objPrinter.ShareName, TRUE
End If
Next
Member: cb595
cb595 Jan 05, 2006 at 08:33:50 (UTC)
Goto Top
hallo bei mir funktioniert das killen der drucker mit dem Parameter/f
ich führe ein batch beim anmelden aus

druckernet_kill.bat mit dem inhalt %LOGONSERVER%.servername_\und_\pfad\con2prt.exe /f


allerdings habe ich das problem dass verbundene Drucker mit dem ellenlangen Namen erscheinen
\\server\firma\abteilung(hplj3456color)laserjet_1

%LOGONSERVER%.domäne.firma.abteilung.de\NETLOGON\con2prt.exe /c %LOGONSERVER%.domäne.firma.abteilung.de\EMPHPMFP1_PCL6

Der Druckername sollte einfach laserjet_1, benannt werden
Member: Huhjukel
Huhjukel Jun 07, 2006 at 17:49:18 (UTC)
Goto Top
Ich steh eben vor dem gleichen Problem wie fireandice.

Ich will auch vor der Neueinrichtung der Netzwerkdrucker alle bestehenden löschen.

Hab zwar auch schon einiges jetzt über das con2prt Tool gelesen, streube ich mich aber noch einwenig da dran zu gehen. Ich bin noch ganz am Anfang meiner Erfahrungen mit Anmeldescripten und möchte deswegen vorerst bei dem vorhandenen Bordmitteln bleiben und mich nicht mit all zu vielen Tools verzetteln.

Gibt es denn keine Möglichkeit bei dem Löschbefehl mit Jokern zu arbeiten?

rundll32 printui.dll,PrintUIEntry /dn /n \\servername\*

Beim löschen von Netzwerkvernbindungen gibt es doch auch so was.

net use * /delete /yes > NUL

Gruß Huhjukel

P.S kann mir vielleicht jemand eine gute Lektüre für die Scripterstellung empfehlen?