Fisy_x3 Geschrieben 10. Oktober 2014 Geschrieben 10. Oktober 2014 Hallo Zusammen, ich bin gerade auf der Suche nach einer Lösung zu folgendem Thema. Es geht darum Netzwerkdrucker die über einen Printserver freigegeben werden, automatisiert zu inventarisieren. Eine Plattform für die Inventarisierung besteht bereits ich suche jetzt nur nach einer Lösung wie ich beispielsweise über ein VBScript an alle Druckerdaten komme. Gibt es eine Möglichkeit via VBScript die Druckerdaten beispielsweise aus einem Printserver auszulesen und in eine CSV schreiben zu lassen? Ich brauche folgende Daten: - Hostname - IP - MAC - Seriennummer - Modellbezeichnung Falls da jemand eine Idee hat, wäre Super. Vielen Dank vorab Zitieren
n00b-it Geschrieben 13. Oktober 2014 Geschrieben 13. Oktober 2014 Versuch es doch mal mit PowerShell Zitieren
User-Root Geschrieben 27. Oktober 2014 Geschrieben 27. Oktober 2014 Teste folgenden Quellcode: # Create new Excel workbook $Excel = new-Object -comobject Excel.Application $Excel.visible = $True $Excel = $Excel.Workbooks.Add() $Sheet = $Excel.Worksheets.Item(1) $Sheet.Cells.Item(1,1) = "Printserver Name" $Sheet.Cells.Item(1,2) = "Printer Name" $Sheet.Cells.Item(1,3) = "Location" $Sheet.Cells.Item(1,4) = "Comment" $Sheet.Cells.Item(1,5) = "IP Address" $Sheet.Cells.Item(1,6) = "Driver Name" $Sheet.Cells.Item(1,7) = "Shared" $Sheet.Cells.Item(1,8) = "Share Name" $intRow = 2 $WorkBook = $Sheet.UsedRange $WorkBook.Font.Bold = $True # Set print server name $inifile = get-content <Pfad>server.ini foreach ($line in $inifile) { # Get printer information $Printers = Get-WMIObject Win32_Printer -computername $line foreach ($Printer in $Printers) { $Sheet.Cells.Item($intRow, 1) = $line $Sheet.Cells.Item($intRow, 2) = $Printer.Name $Sheet.Cells.Item($intRow, 3) = $Printer.Location $Sheet.Cells.Item($intRow, 4) = $Printer.Comment $Ports = Get-WmiObject Win32_TcpIpPrinterPort -computername $line foreach ($Port in $Ports) { if ($Port.Name -eq $Printer.PortName) { $Sheet.Cells.Item($intRow, 5) = $Port.HostAddress } } $Sheet.Cells.Item($intRow, 6) = $Printer.DriverName $Sheet.Cells.Item($intRow, 7) = $Printer.Shared $Sheet.Cells.Item($intRow, 8) = $Printer.ShareName $intRow = $intRow + 1 } } $WorkBook.EntireColumn.AutoFit() Die Server.ini enthält einfach alle Hostnames der Printserver. Ein name pro Zeile. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.