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
GELÖST

Drucker in der Domäne per AnmeldeSkript löschen

Frage Microsoft Windows Server

Mitglied: california92

california92 (Level 1) - Jetzt verbinden

20.12.2006, aktualisiert 18.10.2012, 10403 Aufrufe, 8 Kommentare

Wir installieren in unserer Domäne (Windows 2003) die Netzwerkdrucker vom Druckserver per VBS Skript.

Beispiel:

Option Explicit
On Error Resume Next
Dim WSHNetwork, PrintSRV
PrintSRV = "Druckserver"
Set WshNetwork = Wscript.CreateObject("WScript.Network")
WshNetwork.RemovePrinterConnection "Druckername"
WshNetwork.AddWindowsPrinterConnection "\\" & PrintSRV & "\Druckername"
'WshNetwork.SetDefaultPrinter "\\" & PrintSRV & "\Druckername"

Nun habe ich aber das Problem, dass die Drucker installiert bleiben. Wenn der Drucker physikalisch nicht mehr existiert, bleibt der Installierte Drucker beim User als "Altlast" zurück.

Gibt es die Möglichkeit die installierten Drucker in einem Abmeldeskript beim Herunterfahren des PCs zu entfernen? Lokal installierte Drucker sollen davon ausgenommen bleiben.

Da ich zum Entfernen von Netzwekdruckern nicht Brauchbares finden konnte stelle ich die Frage hier mal ein.

Vielen Dank für Euere Hilfe.

california92
Mitglied: Quenck
20.12.2006 um 12:05 Uhr
Google mal nach WSHNetwork.Enumprinterconnections

Damit kannst du dir ein Array der Druckerverbindungen erzeugen und in einer for...each schleife mit RemovePrinterConnection entfernen.

Marko
Bitte warten ..
Mitglied: gemini
20.12.2006, aktualisiert 18.10.2012
Hi california,

ich hab momentan das hier laufen:
01.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
02.
Set colPrinters =  objWMIService.ExecQuery("Select * from Win32_Printer") 
03.
For Each objPrinter in colPrinters 
04.
	If Left(objPrinter.Name, 8) = "\\" & strPrintSRV2 Then 
05.
		WshNetwork.RemovePrinterConnection "\\" & strPrintSRV2 & "\" & objPrinter.ShareName, blnForce 
06.
	End If 
07.
Next
Tom73 hat in seinem Tutorial - Netzwerkdrucker automatisch verbinden - ein Lösungsvorschlag eine elegantere Lösung zum löschen eingesetzt
01.
Set objNetwork = WScript.CreateObject("WScript.Network") 
02.
Set objPrinters = objNetwork.EnumPrinterConnections 
03.
For intLoop = 0 to objPrinters.Count - 1 
04.
	objNetwork.RemovePrinterConnection objPrinters.Item(intLoop),-1,-1 
05.
	WScript.Sleep 500 
06.
Next
HTH,
gemini
Bitte warten ..
Mitglied: california92
20.12.2006 um 12:28 Uhr
Ich habe dazu folgendes gefunden:

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set Printers = WshNetwork.EnumPrinterConnections
li = "Installierte Drucker: " & vbcr
For i = 0 to Printers.Count - 1 Step 2
li = li & Printers.Item(i) & " " & Printers.Item(i+1) & vbcr
Next
msgbox(li)


Damit werden alle installierten Drucker in einer Infobox aufgelistet. Wenn ich damit versuchen werde die Drucker zu löschen gehen doch auch meine lokal installierten Drucker weg?
Was muss ich umschreiben im Skript, dass die Löschung per RemovePrinterConnection startet?

Danke!
Bitte warten ..
Mitglied: california92
20.12.2006 um 12:53 Uhr
Bekomme leider kein brauchbares Ergebnis hin.

Gibt es denn nicht irgeneine Möglichkeit alle Drucker mit \\druckserver\druckername zu entfernen? Mit einem Dreizeiler installiert. Muss doch auch so wieder zum Löschen gehen?

Vielen Dank nochmal
Bitte warten ..
Mitglied: gemini
20.12.2006 um 13:14 Uhr
Bekomme leider kein brauchbares Ergebnis hin.
Wo hakt es denn?
Ich habe dir oben zwei Möglichkeiten gepostet, die erste habe ich im Einsatz, ist zwar nicht so elegant aber funktioniert soweit, du musst nur die Variablen entspr. belegen und blnForce durch TRUE ersetzen.

Die zweite Möglichkeit habe ich nicht getestet, schaut aber sehr gut aus und funktioniert auch, sonst wäre das Feesback auf Tom73's Beitrag nicht so positiv gewesen.

Und mach zum testen das On Error Resume Next raus damit du siehst wo es kracht
Bitte warten ..
Mitglied: california92
20.12.2006 um 13:27 Uhr
Ich habe die Lösung gefunden:

Option Explicit
On Error Resume Next

Dim WshNetwork, PrintSRV
PrintSRV = "Druckserver"

Set WshNetwork = Wscript.CreateObject("Wscript.Network")

WshNetwork.RemovePrinterConnection "\\" & PrintSRV & "\Druckername"


Set WshNetwork = Nothing



Ich nehme einfach die bei der Anmeldung installiereten Drucker mit in dieses kurze Abmeldeskript. Alle Drucker sind dann sauber entfernt.

Danke für Euere Unterstützung!
Bitte warten ..
Mitglied: gemini
20.12.2006 um 20:41 Uhr
Ich habe die Lösung gefunden:
Das entlockt mir doch ein leichtes lächeln
Zum einem hattest du das in deinem Ursprungspost schon fast richtig drin, zum anderen fragtest du
Gibt es denn nicht irgeneine Möglichkeit __alle Drucker__ mit \\druckserver\druckername zu entfernen

Nun, deine Lösung hat zwei Nachteile:
1) Es werden nicht alle Drucker automatisch entfernt, sondern nur die für die du eine Zeile mit RemovePrinter... einfügst
2) Die Idee mit dem Abmeldescript bewirkt, dass du Änderungen beim Druckerbestand an zwei Stellen pflegen musst.

Ich entferne die Drucker im Loginscript bevor sie neu gemappt werden.
Evtl. Druckerleichen zu beseitigen ist dabei nur ein Nebeneffekt, der eigentliche Grund liegt darin, dass Änderungen der Druckereinstellungen so sicher und zuverlässig auf die Clients übertragen werden.

Was Pflegefreundlichkeit anbetrifft ist der Ansatz vom Tom73 der beste.
Wenn ich Zeit habe werde ich das auch noch implementieren.

Gruß,
gemini
Bitte warten ..
Mitglied: 65440
21.05.2008 um 11:56 Uhr
Hallo,

dafür gibt es das Tool con2prt.exe. (http://www.gruppenrichtlinien.de/tools/con2prt.exe)

Mit dem Parameter /f (z. B. "c:\con2prt.exe /f") werden alle installierten Drucker entfernt.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Exchange Server
Exchange 2010 Akzeptierte Domäne löschen (4)

Frage von Rob1982 zum Thema Exchange Server ...

Batch & Shell
Mehrere lokale Drucker löschen (4)

Frage von Tealk144 zum Thema Batch & Shell ...

Netzwerkgrundlagen
gelöst Freigegebener USB-Drucker einer anderen Domäne hinzufügen (9)

Frage von ZuKreativFuerNamen zum Thema Netzwerkgrundlagen ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...