ALLE Drucker per Logonscript löschen auch ohne bekannter Name
Wie kann ich alle Printer löschen?
Hallo zusammen
Ich habe ein Logonscript bei welchem ich die Drucker lösche und zwar mit folgendem Befehl:
*
DelPrinter "\\Server01\Drucker01"
sub DelPrinter(PrinterUNC)
on error resume next
wshNetwork.RemovePrinterConnection PrinterUNC
if err.number <> 0 then
print "Printer kann nicht entfernt werden: " & err.number & PrinterUNC & ": " & err.description
end if
on error goto 0
end sub
*
Nun ist mir leider nicht jeder Druckername bekannt da es sein könnte, das auch noch ältere Drucker
auf dem Rechner installiert sind. Gibt es daher eine Möglichkeit, einfach alle Drucker zu löschen welche
auf dem Client sind?
Vielen Dank für eure Antworten.
Marco
Hallo zusammen
Ich habe ein Logonscript bei welchem ich die Drucker lösche und zwar mit folgendem Befehl:
*
DelPrinter "\\Server01\Drucker01"
sub DelPrinter(PrinterUNC)
on error resume next
wshNetwork.RemovePrinterConnection PrinterUNC
if err.number <> 0 then
print "Printer kann nicht entfernt werden: " & err.number & PrinterUNC & ": " & err.description
end if
on error goto 0
end sub
*
Nun ist mir leider nicht jeder Druckername bekannt da es sein könnte, das auch noch ältere Drucker
auf dem Rechner installiert sind. Gibt es daher eine Möglichkeit, einfach alle Drucker zu löschen welche
auf dem Client sind?
Vielen Dank für eure Antworten.
Marco
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 142591
Url: https://administrator.de/contentid/142591
Ausgedruckt am: 17.11.2024 um 23:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Marco,
Wscript.network hat die Methode EnumPrinterConnections siehe hier in der MSDN.
Die listet aber alle Drucker auf, auch die an lokalen Ports.
Mit diesem abgewandelten Script sollte es gehen:
Gruß
LotPings
Wscript.network hat die Methode EnumPrinterConnections siehe hier in der MSDN.
Die listet aber alle Drucker auf, auch die an lokalen Ports.
Mit diesem abgewandelten Script sollte es gehen:
' <http://msdn.microsoft.com/en-us/library/zhds6k80%28VS.85%29.aspx>
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
WScript.Echo "Network printer mappings:"
For i = 0 to oPrinters.Count - 1 Step 2
if Left(oPrinters.Item(i+1),2) = "\\" Then _
WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1)
Next
Gruß
LotPings
Moin bastla,
ich würde das so bei mr nicht testen,, aus Angst das auch die lokalen Drucker zerschossen werden. Wenn ich in meinem Script Zeile 6 rausnehme kriege ich dieses Ergebnis
Gruß
LotPings
ich würde das so bei mr nicht testen,, aus Angst das auch die lokalen Drucker zerschossen werden. Wenn ich in meinem Script Zeile 6 rausnehme kriege ich dieses Ergebnis
Port XPSPort: = Microsoft XPS Document Writer
Port FRITZ!fax: = FRITZfax Drucker
Port FRITZ!faxColor: = FRITZfax Color Drucker
Port nul: = An OneNote 2010 senden
Port USB001 = \\PC12\HP Officejet 5600 series
Gruß
LotPings
Hallo LotPings!
Dein Einwand hinsichtlich der lokalen Drucker ist natürlich richtig - da es hier um ein Logonscript geht, wäre allerdings zu hoffen, dass mangels entsprechender Berechtigungen der betroffenen User (deshalb auch "
... wobei aber Deine "Sicherheitsvariante" diese Hoffnung zur Gewissheit werden lässt.
Grüße
bastla
Dein Einwand hinsichtlich der lokalen Drucker ist natürlich richtig - da es hier um ein Logonscript geht, wäre allerdings zu hoffen, dass mangels entsprechender Berechtigungen der betroffenen User (deshalb auch "
On Error Resume Next
") die lokalen Drucker unbeschadet davonkommen ...... wobei aber Deine "Sicherheitsvariante" diese Hoffnung zur Gewissheit werden lässt.
Grüße
bastla