Jump to content

Netzwerkdrucler per vb Script löschen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

ich habe einen Script, der Drucker abhängig von der AD-Gruppe mappt:

 

____________________________________________________________

strUser = "LDAP://" & CreateObject("ADSystemInfo").UserName

StrPrintSRV = "Printserver"

 

On Error resume next

 

rem Drucker mappen, wenn Benutzer in Gruppe "Kevin_Drucker"

If GetObject("LDAP://CN=Kevin_Drucker,OU=Gruppen,DC=Domain,DC=de").IsMember(strUser) Then

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

WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker1"

WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker2"

WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker3"

end if

____________________________________________________________

 

Ich möchte gerne vorher alle Drucker, die verbunden sind löschen.

Wie kann ich das per Script machen?

 

Danke schonmal.

 

Gruß

 

Kevin

Geschrieben

Das könnte man zum Beispiel so lösen:


Const NETWORK = 22

Set objNetwork = CreateObject("WScript.Network")

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")

For Each objPrinter in colPrinters
If objPrinter.Attributes And NETWORK Then
strPrinter = objPrinter.Name
objNetwork.RemovePrinterConnection strPrinter
End If
Next

[/Code]

 

Quelle: Hey, Scripting Guy! How Can I Remove All the Network Printers on a Computer?

Geschrieben

Network steht in diesem Fall für ein konstantes Flag, welches einen Netzwerkdrucker kennzeichnet. strcomputer ist schon mit "." vorbelegt, was dem lokalen Rechner entspricht. Auf diesem wird dein Anmeldeskript ja auch ausgeführt, von daher passt das.

Geschrieben

Dann probier es mal so:


Set objNetwork = CreateObject("WScript.Network")

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")

For Each objPrinter in colPrinters
If objPrinter.Attributes Then
strPrinter = objPrinter.Name
objNetwork.RemovePrinterConnection strPrinter
End If
Next
[/Code]

 

BTW: Wir reden von einem XP-Client?

Geschrieben

damit funktioniert es:

 

strComputer = "."

 

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

 

Set colInstalledPrinters = objWMIService.ExecQuery _

("Select * From Win32_Printer Where Network = True")

 

For Each objPrinter in colInstalledPrinters

objPrinter.Delete_

Next

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...