Veröffentlicht 10. Oktober 201410 j 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
27. Oktober 201410 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.