Script

Heute bin ich auf das Problem gestossen, dass ich auf mehreren Terminalservern einige Informationen von Druckern brauchte. Das per Hand  abzuschreiben, ist natürlich verschwendete Zeit.

Nach kurzer Recherche bin ich auf diverse Scripts gestoßen.

Powershell und VBScripts. Da es sich bei den Servern um 2003er handelt, ist kein Powershell installiert. Somit habe ich mich für ein VBScript entschieden.

Folgende Daten werden ausgelesen:

  • Druckername
  • Freigabename
  • Treibername
  • Anschluss
  • Ort
  • Beschreibung
  • Systemname
  • Druckprozessor

Diese Daten werden in der Kommandozeile ausgegeben. Mir reichten eigentlich nur folgende Daten:

  • Druckername
  • Portname
  • Ort
  • Beschreibung

Diese Ausgabe sollte in einer Textdatei erfolgen und wird standardmäßig unter C:tempxxx.txt geschrieben.

Hier das komplette Skript:

strComputer = “.”

Set objWMIService = GetObject(“winmgmts:” _
& “{impersonationLevel=impersonate}!\” & strComputer & “rootcimv2″)

Set colInstalledPrinters = objWMIService.ExecQuery _
(“SELECT * FROM Win32_Printer”)

Set WshNetwork = WScript.CreateObject(“WScript.Network”)

WScript.Echo(“This Computer’s Name = ” & WshNetwork.ComputerName)

Set fso = CreateObject(“scripting.filesystemobject”)
set txtfile = fso.OpenTextFile(“c:tempDrucker_von_” & strComputer & “.txt”, 2, True)


For Each objPrinter in colInstalledPrinters

If (objPrinter.Attributes AND 4) = 4 then
WScript.Echo(“*****> Default printer — Start”)
Else
WScript.Echo(“—”)
End If

WScript.Echo(“Name: ” & objPrinter.Name)
WScript.Echo(“Share name: ” & objPrinter.ShareName)
WScript.Echo(“Driver name: ” & objPrinter.DriverName)
WScript.Echo(“Caption: ” & objPrinter.Caption)
WScript.Echo(“Port: ” & objPrinter.PortName)
WScript.Echo(“Location: ” & objPrinter.Location)
WScript.Echo(“Description: ” & objPrinter.Description)

WScript.Echo(“System name: ” & objPrinter.SystemName)
WScript.Echo(“Print processor: ” & objPrinter.PrintProcessor)

txtfile.WriteLine(“Name: ” & objPrinter.Name & “, Port: ” & objPrinter.PortName & “, Location: ” & objPrinter.Location & “,Description: ” & objPrinter.Description)

If (objPrinter.Attributes AND 4) = 4 then
WScript.Echo(“*****> Default printer — End”)
Else
WScript.Echo(“—”)
End If

Next
txtfile.Close

Diese Zeile in Notepad einfügen und als vbs-Datei speichern.

Aufruf über die Kommandozeile: csscript.exe scriptname.vbs.

Tags: , ,

Wenn dir dieser Artikel gefallen hat, kannst du ihn mit einem Klick auf die folgenden Buttons weiterempfehlen. Möchtest du in Zukunft keine neuen Beiträge mehr verpassen? Dann abonniere doch den RSS Feed dieses Blogs. Vielen Dank!

Kommentar abgeben

Current month ye@r day *