Vbscript netzwerkdrucker

Hallo
Ich muss mit hilfe von Vbcript ein code für unseren Firma erstellen.
1.Es muß überprüft werden welche netwerkdrucker bei ClientA ,ClientB ,…vorhanden sind.
2. Falls Drucker1,Drucker2,… nicht vorhanden sind soll die zugefügt werden.
3.DruckerX muss als Standarddrucker difiniert werden.

Hier ist mein vbscribt der nicht funktioniert!!

Const WbemAuthenticationLevelPktPrivacy = 6

Set objWbemLocator = CreateObject(„WbemScripting.SWbemLocator“)

Set objWMIService = objwbemLocator.ConnectServer(strComputer, „root\cimv2“, strUsername, strPassword)

objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy

Set objPrinters = objWMIService.ExecQuery(„Select * From Win32_Printer“)

For Each objPrinter In objPrinters

if not objprinter.name =" 1.OG-Oki C5400n-Farb" then
Set objNetwork = Wscript.CreateObject („WScript.Network“)
objNetwork.AddWindowsPrinterConnection „\server\1.OG-Oki C5400n-Farb“

if not objprinter.name =„1.OG-Kyocera Mita KM-5035 KX“ then
Set objNetwork = Wscript.CreateObject („WScript.Network“)
objNetwork.AddWindowsPrinterConnection „\server\1.OG-Kyocera Mita KM-5035 KX“

if not objprinter.name =„1.OG-HP LaserJet 4200tn“ then
Set objNetwork = Wscript.CreateObject („WScript.Network“)
objNetwork.AddWindowsPrinterConnection „\server\1.OG-HP LaserJet 4200tn“

if not objprinter.name =„1.OG-HP LaserJet 4100tn“ then
Set objNetwork = Wscript.CreateObject („WScript.Network“)
objNetwork.AddWindowsPrinterConnection „\server\1.OG-HP LaserJet 4100tn“

objNetwork.SetDefaultPrinter ("\server\1.OG-Kyocera Mita KM-5035 KX")

end if
WScript.Echo objPrinter.Name

Next
danke im voraus

Hallo

immoment seh ich nur das bei z.b. 4 gefundenen druckern, alle drucker gesetzt werdenund zwar 4 mal .

oder was sagt mir If NOT name = name

das trifft doch eigentlich mindestens auf 3 von 4 druckern , selbst wenns ein gibt , er wird 3 mal eintragen, da ja bei jedem objekt durchgang mindestens 3 nicht diesem nacmen entsprechen.

hier mal ein Beispiel :

Private Sub test()
Dim neuerdrucker() As String
ReDim neuerdrucker(0 To 0) As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:" \_
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery("Select \* from Win32\_Printer")

For Each objprinter In colInstalledPrinters
 If (objprinter.Name = "Der Drucker") Then
 ReDim Preserve neuerdrucker(0 To UBound(neuerdrucker) + 1) As String
 neuerdrucker(UBound(neuerdrucker)) = objprinter.Name
 End If
Next

For Each neuerprinter In neuerdrucker
 ' Set objNetwork = Wscript.CreateObject("WScript.Network")
 ' objNetwork.AddWindowsPrinterConnection "\\server\" & neuerdrucker
 MsgBox ("Hallo " & neuerprinter)
Next

End Sub

so kannst du dir die liste zusammen holen.

zum testen einfach
If (objprinter.Name = „Der Drucker“) Then

ändern in
If (objprinter.Name „Der Drucker“) Then

somit werden erstmal alle angezeigt .

Villeicht hilft das ja .

Hier ist mein vbscribt der nicht funktioniert!!

es wäre auch schön was nicht funktioniert bzw wie äussert sich dein nicht funktionieren , etwa mit einer fehlermeldung ? und warum seh ich die dann hier nicht. Oder läuft es durch und es passiert nix ? Keine fehlermeldung keine Echo ausgaben ?