Drucker: Geräteliste anlegen
19. Juli 2018In kleineren Büros lassen sich die vorhandenen Peripherie-Geräte „an einer Hand“ abzählen, in größeren Unternehmen ist dies in der Regel nicht möglich. Denn falls sich unterschiedliche Abteilungen auf diversen Stockwerken in mehreren Gebäuden befinden, sehen sich die Systembetreuer in der Regel nicht in der Lage, alle Geräte persönlich zu inspizieren. In derartigen Fällen helfen passende Tools weiter. Diese indizieren alle im Netzwerk vorhandenen Geräte, und können die Detailinformationen (etwa IP-Adresse, Hostname) entsprechend aufbereiten oder exportieren.
Mit dem Powershell-Skript „Printer_Inventory.ps1“ lassen sich derartige Aufgaben geschickt lösen. Denn das Skript listet sämtliche Drucker im Netzwerk auf. Dabei werden sowohl direkt mit dem Netzwerk verbunden Geräte, sowie Drucker am Printserversystemen oder direkt am Client angeschlossenen Printer erfassen. Das Tool steht auf Technet zum kostenlosen Download bereit, und bietet Zugriff auf eine Vielzahl an unterschiedlichen Infos zu den Geräten. Dabei lassen sich beispielsweise die Hostnamen der Printserver, Hostnamen der Drucker, IP-Adressen, verwendete Ports, Treiberversionen oder der Freigabename bequem auslesen.
ForEach ($Printserver in $Printservers) { $Printers = Get-WmiObject Win32_Printer -ComputerName $Printserver ForEach ($Printer in $Printers) { if ($Printer.Name -notlike "Microsoft XPS*") { $Sheet.Cells.Item($intRow, 1) = $Printserver $Sheet.Cells.Item($intRow, 2) = $Printer.Name If ($Printer.PortName -notlike "*\*") { $Ports = Get-WmiObject Win32_TcpIpPrinterPort -Filter "name = ‚$($Printer.Portname)’" -ComputerName $Printserver ForEach ($Port in $Ports) { $Sheet.Cells.Item($intRow, 3) = $Port.HostAddress } } $Sheet.Cells.Item($intRow, 4) = $Printer.ShareName $Sheet.Cells.Item($intRow, 5) = $Printer.DriverName ####################