14634
Goto Top

Alle Netzwerkdrucker von einem bestimmten Printserver entfernen

Hallo zusammen,

kurzer überblick:

Client PC: Windows 7 32bit

alter Printserver: Server 2003 R2 (DNS Name: Print01)
neuer Printserver: 2012R2 (DNS Name: Pront02)


folgendes Problem:

ich will mit einem Script alle Netzwerkdrucker vom Print01 entfernen, jedoch sollen die Netzwerkdrucker vom Print02 nicht gelöscht werden.

ich habe mir die Drucker freigaben vom alten Printserver exportiert und eine Batch Datei wie folgt aufgebaut:

rundll32 printui.dll,PrintUIEntry /dn /n /q "\\srvprint01\Drucker1
rundll32 printui.dll,PrintUIEntry /dn /n /q "\\srvprint01\Drucker2
rundll32 printui.dll,PrintUIEntry /dn /n /q "\\srvprint01\Drucker3


die liste ist fortlaufend, es sind insgesamt 250 Drucker.

Nicht jeder User hat alle Drucker bei sich hinterlegt, sodass ich folgende Fehlermeldung erhalten wenn das Script probiert einen Drucker zu löschen der beim User nicht hinterlegt ist:

Windows Meldung:

Die Druckverbindung kann nicht entfernt werden.

kann man diese Meldung einfach verbergen und das Script soll einfach weiter durchlaufen, oder habt ihr hier einen besser Vorschlag?

Content-ID: 241839

Url: https://administrator.de/forum/alle-netzwerkdrucker-von-einem-bestimmten-printserver-entfernen-241839.html

Ausgedruckt am: 13.04.2025 um 20:04 Uhr

emeriks
emeriks 25.06.2014 aktualisiert um 16:29:36 Uhr
Goto Top
Hi,
wenn Du das mit VBscript machst, dann kannste Fehler ignorieren

on error resume next
dim WshNet : Set WshNet = CreateObject("Wscript.Network")  

with WshNet
  .RemovePrinterConnection "\\server\Drucker01", True, True  
  .RemovePrinterConnection "\\server\Drucker02", True, True  
  .RemovePrinterConnection "\\server\Drucker03", True, True  
  .RemovePrinterConnection "\\server\Drucker04", True, True  

end with

Sollte funktionieren.

E.

Edit: habe noch Fehler im Code korrigiert.
colinardo
colinardo 25.06.2014 aktualisiert um 16:31:23 Uhr
Goto Top
Moin Gl05e,
ich mach das immer mit Powershell:
$comNetwork = New-Object -ComObject "Wscript.Network"  
gwmi -Class Win32_Printer | ?{$_.Network -eq $true -and $_.ServerName -eq '\\srvprint01'} | %{$comNetwork.RemovePrinterConnection($_.Name)}  
Grüße Uwe