Jump to content

Script zum Auslese der Drucker in eine CSV Datei


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

irgendwie funktionieren die Scripte die ich so im Inet zum Export gefunden hatte, nicht so richtig.

 

Hat vielleicht jemand ein brauchbares Script mit dem ich auf unserem Print Server 2012 R2 die Drucker mit Namen, Port und IP in eine CSV oder TXT Datei exportiert bekomme?

 

Vielen Dank!

Michael

 

Geschrieben

Moin Moin,

Script läuft aber es werden nur die Drucker mit einem Generic Treiber ausgegeben. Alle anderen Geräte fehlen in der Übersicht.

 

Hier mal das Script:

strComputer = InputBox("Enter Print Server Name")

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
intRow = 2

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48)

objExcel.Cells(1, 1).Value = "Name"
objExcel.Cells(1, 2).Value = "Share Name"
objExcel.Cells(1, 3).Value = "Comment"
objExcel.Cells(1, 4).Value = "Driver Name"
objExcel.Cells(1, 5).Value = "Job Count"
objExcel.Cells(1, 6).Value = "Location"
objExcel.Cells(1, 7).Value = "Port Name"
objExcel.Cells(1, 8).Value = "Published"
objExcel.Cells(1, 9).Value = "Queued"
objExcel.Cells(1, 10).Value = "Shared"
objExcel.Cells(1, 11).Value = "Status"

For Each objItem in colItems
Select Case objItem.DetectedErrorState
Case 0 Status = " Online"
Case 1 Status = "Paused"
Case 2 Status = "Pending Deletion"
Case 3 Status = "Error"
Case 4 Status = "Paper Jam"
Case 5 Status = "Paper Out"
Case 6 Status = "Manual Feed"
Case 7 Status = "Paper Problem"
Case 8 Status = "Offline"
Case 256 Status = "IO Active"
Case 512 Status = "Busy"
Case 1024 Status = "Printing"
Case 2048 Status = "Output Bin Full"
Case 4096 Status = "Not Available"
Case 8192 Status = "Waiting"
Case 6384 Status = "Processing"
Case 32768 Status = "Initializing"
Case 65536 Status = "Warming Up"
Case 131072 Status = "Toner Low"
Case 262144 Status = "No Toner"
Case 524288 Status = "Page Punt"
Case 1048576 Status = "User Intervention"
Case 2097152 Status = "Out of Memory"
Case 4194304 Status = "Door Open"
Case 8388608 Status = "Server Unknown"
Case 16777216 Status = "Power Save"
Case Else Status = "UNKNOWN"
End Select

objExcel.Cells(intRow,  1).Value = objItem.Name
objExcel.Cells(intRow,  2).Value = objItem.ShareName
objExcel.Cells(intRow,  3).Value = objItem.Comment
objExcel.Cells(intRow,  4).Value = objItem.DriverName
objExcel.Cells(intRow,  5).Value = objItem.JobCountSinceLastReset
objExcel.Cells(intRow,  6).Value = objItem.Location
objExcel.Cells(intRow,  7).Value = objItem.PortName
objExcel.Cells(intRow,  8).Value = objItem.Published
objExcel.Cells(intRow,  9).Value = objItem.Queued
objExcel.Cells(intRow,  10).Value = objItem.Shared
objExcel.Cells(intRow,  11).Value = Status

intRow = intRow + 1
Next

objExcel.Range("A1:K1").Select
objExcel.Selection.Interior.ColorIndex = 19
objExcel.Selection.Font.ColorIndex = 11
objExcel.Selection.Font.Bold = True
objExcel.Cells.EntireColumn.AutoFit


Set objExcel = Nothing
Set objWMIService = Nothing
Set colItems = Nothing


Geschrieben

@Expert Member

Hallo; es geht darum das ich von unseren installierten Druckern auf den Print Servern eine tabelarische Überischt mit Druckerfreigabe-Namen, IP und Port beötige. Es geht um keine Migration. Ich brauche die Übersicht zur Dokumentation.

  • 3 Wochen später...
Geschrieben (bearbeitet)

Printer in eine CSV-Datei:
Get-Printer | Select-Object Name,Sharename,Drivername,Portname | Export-Csv -Path <Vollständiger Pfad zur Datei> -Encoding utf8 -Delimiter ";" -NoTypeInformation
 
PrinterPorts in eine CSV-Datei (abhängig vom verwendeten Porttyp unterschiedliche Properties zum Auslesen notwendig):
Get-PrinterPort | Select-Object Name,HostName,PrinterHostAddress,PrinterHostIP,PortMonitor | Export-Csv -Path <Vollständiger Pfad zur Datei> -Encoding utf8 -Delimiter ";" -NoTypeInformation

 

Der Delimiter ";" empfiehlt sich bei Weiterverarbeitung in Microsoft Excel. Ein Script, was dir beide Infos in eine CSV-Datei beinhaltet, benötigt etwas Arbeit, ist aber machbar. :)

 

Diese Zeilen müssen auf dem Printserver ausgeführt werden. Oder per Remote-Powershell von einem anderen System. Kannst du auch per Aufgabenplanung regelmäßig starten lassen.

bearbeitet von TPaul
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...