
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 colInstalledPrintersIf (objPrinter.Attributes AND 4) = 4 then
WScript.Echo(“*****> Default printer — Start”)
Else
WScript.Echo(“—”)
End IfWScript.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 IfNext
txtfile.Close
Diese Zeile in Notepad einfügen und als vbs-Datei speichern.
Aufruf über die Kommandozeile: csscript.exe scriptname.vbs.
Thank you for the information