Drucker: Geräteliste anlegen

19. Juli 2018

In 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

           

            #################### 

Florian Huttenloher

Lesen Sie auch