Hallo zusammen,
ich habe mehrere Printserver an verschiedenen Standorten auf Basis von Windows Server 2003 und 2008 am laufen (eine Domäne). Auf den Servern sind nur 64Bit Treiber installiert. Ich benötige ein Script, dass die gesamten Drucker(namen) der einzelnen Printserver in einer txt file zusammenfasst. Zusätzlich benötige ich einen Algorithmus, der durch ein Eingabefeld prüft, ob ein Druckername bereits vergeben ist.
Das folgende Script soll die Liste erstellen. Leider funktioniert es nicht richtig, Benutzername und PW werden abgefragt, danach folgt keine weitere Meldung.
Kann einer von Euch einen Blick darauf werfen und mir eventuell weiterhelfen ?
Vielen Dank und Gruß,
Mark
On Error Resume Next
Const WbemAuthenticationLevelPktPrivacy = 6
strUsername = InputBox("Bitte Username eines Administrators eingeben:","Installierte Drucker abrufen")
strPassword = InputBox("Bitte Password des Administrators eingeben:","Installierte Drucker abrufen")
Set fso = CreateObject("scripting.filesystemobject")
strComputers = Array("PRINTSERVERIP")
For i = 0 To UBound(strComputers)
strComputer = strComputers(i)
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer(strComputer, "root\cimv2", strUsername, strPassword)
objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
Set objPrinters = objWMIService.ExecQuery("Select * From Win64_Printer")
Set txtfile = fso.OpenTextFile("c:\temp\Drucker_von_" & strComputer & ".txt", 2, True)
For Each objPrinter In objPrinters
txtfile.WriteLine objPrinter.Name
Next
txtfile.Close
Next