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:\temp\xxx.txt geschrieben.

Hier das komplette Skript:

strComputer = “.”

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

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:\temp\Drucker_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: , ,

1 Kommentar für “Auslesen von Drucker Informationen (VBScript)”

  1. Thank you for the information

    10.06.2010 um 01:16


Kommentar abgeben