Inventarisierung mit PowerShell
Inventarisierung

Inventarisierung mit PowerShell

Wir zeigen Ihnen mit welchen Befehlen und Tricks Windows Systeme ganz einfach per PowerShell inventarisiert werden können.

Michael Kostka
Michael Kostka Veröffentlicht am 05.08.2025

Im Windows-Umfeld hat sich PowerShell vor allem für Tätigkeiten zur Automatisierung etabliert. Die Vorteile liegen auf der Hand: Keine Installation erforderlich, eine große Anwenderschaft und damit umfangreiche Dokumentation.

Perfekte Voraussetzungen also um PowerShell für die Inventarisierung von Windows PCs einzusetzen.

💡 Funktionsweise

Die Inventarisierung mittels PowerShell setzt intern auf die per Standard aktivierte WMI-Schnittstelle von Windows Systemen, welche speziell für die Abfrage von Systemparametern und Hardware-Informationen ausgelegt ist.

Besonderer Vorteil hieran: WMI kann auch Remote per Netzwerk angesprochen werden, wodurch auch eine Inventarisierung im gesamten Netzwerk ohne physische Anmeldung am Endgerät erfolgen kann.

Voraussetzungen

Die Voraussetzungen für eine erfolgreiche Abfrage von WMI mit PowerShell sind recht minimal:

  • WMI Dienst aktiviert (Standard auf Windows Clients & Serversystemen)
  • PowerShell 2.0 (ab Windows 7 verfügbar)
  • Benutzer mit Rechten zur Abfrage von WMI (z.B. lokaler Administrator)
  • Port TCP/135 erreichbar (nur bei Remotezugriff)
  • RPC-Ports TCP/49152-65535 erreichbar (nur bei Remotezugriff)

💻 Geräte-Typ auslesen

Get-CimInstance -ClassName Win32_SystemEnclosure -Namespace 'root\CIMV2' -Property ChassisTypes | Select-Object ExpandProperty ChassisTypes

Bei den ausgegebenen Werten handelt es sich dabei um bestimmte Schlüssel-Werte. Deren Auflösung kann in der zugehörigen Microsoft Dokumentation eingesehen werden. Nachfolgend finden sich einige gängige Beispiele:

  • 3 = Desktop
  • 4 = Low Profile Desktop
  • 6 = Mini Tower
  • 7 = Tower
  • 9 = Laptop
  • 10 = Notebook
  • 23 = Rack Mount Chassis
  • 30 = Tablet

💿 Windows Edition und Versionsstand

Die installierte Windows Edition und der jeweilige Versionsstand ist in der WMI-Klasse Win32_OperatingSystem abgelegt:

$osInfo = Get-WmiObject -Class Win32_OperatingSystem -ErrorAction Stop

Write-Host "Windows-Edition: $osInfo.Caption"
Write-Host "Windows-Version: $osInfo.Version"

🏭 Hersteller & Modellnummer

Auf den Systemen der meisten gängigen PC, Notebook bzw. Server-Hersteller sind die Hersteller- und Modellinformationen in der Klasse Win32_ComputerSystem abgelegt.

$csInfo = Get-WmiObject -Class Win32_ComputerSystem -ErrorAction Stop

Write-Host "Hersteller: $csInfo.Manufacturer"
Write-Host "Modell: $csInfo.Model"

🔢 Seriennummer

Bei allen OEM Lieferanten wie beispielsweise Dell, HP, Lenovo und Co. entspricht die im BIOS abgelegte Seriennumer auch der tatsächlichen Seriennummer, die auf dem Typenschild ersichtlich ist.

$bios = Get-WmiObject -Class Win32_BIOS -ErrorAction Stop

Write-Host "Seriennummer: $bios.Serialnumber"

Lediglich bei manuell zusammengestellten Geräten aus Einzelkomponenten (Individualsysteme) findet sich hier dementsprechend nur die Seriennummer des verbauten Mainboards.

📡 PowerShell Inventory Tool

Jetzt unser kostenloses PowerShell Inventory Skript für die Inventarisierung von Windows-Systemen herunterladen.

  • 100% kostenlos
  • Netzwerkfähig
  • Erkennt Hersteller, Modell, Seriennummer und Ausstattung
  • Ausgabe als CSV oder im JSON Format
  • Vollständig dokumentiert & vielseitig einsetzbar

🔒 Inventarisierung auch ohne Admin-Rechte?

WMI bietet auch ein - leider etwas verstecktes - Berechtigungsmanagement. Hierüber kann die Abfrage auf WMI Namespaces auch von Benutzern ohne administrative Rechte durchgeführt werden.

Öffenen Sie hierzu zunächst das Startmenü und Suchen Sie hier nach "wmigmt.msc". Alternativ kann auch die Tastenkombination "Windows-Taste + R -> wmimgmt.msc" verwendet werden.

Klicken Sie hier mit der rechten Maustaste auf "WMI-Kontrolle (Lokal)" und wählen die Option "Einstellungen" aus.

Im nächsten Schritt wechseln Sie in den Tab "Sicherheit" und klicken anschließend einmal auf den ersten Eintrag "Root". Abschließend im unteren Bereich den Button "Sicherheit" anklicken um die Berechtigungseinstellungen zu öffnen.

Rufen Sie hier direkt über "Erweitert" die ausführlichen Einstellungsoptionen auf.

Fügen Sie hier einen neuen Benutzer der Liste hinzu.

Stellen Sie hierbei sicher, dass der Benutzer auch auf alle untergeordneten Namespaces berechtigt wird. Zusätzlich aktivieren wir in diesem Punkt bereits die Remoteaktivierung, welcher später auch eine Abfrage aus der Ferne per Netzwerk ermöglicht.

📡 Remotezugriff

Wird hingegen ein nicht-administrativer Benutzer für die Abfrage verwendet, muss die Remoteaktivierung in "wmimgmt.msc" gesetzt und der Benutzer zudem auch in die lokale Gruppe "Distributed COM-Benutzer" aufgenommen werden.

Die WMI Abfrage gegen einen entfernten Computer ist dann über die Angabe des zusätzlichen Parameters "-ComputerName" wie folgt möglich:

Get-WmiObject -Class Win32_BIOS -ComputerName 10.0.3.200 -ErrorAction Stop

👤 Authentifizierung mit anderem Benutzer

Um für die Abfrage einen anderen Benutzer zu verwenden, kann der Parameter "-Credential" verwendet werden. Hierzu erzeugen wir zunächst ein neues Authentifizierungsobjekt und übergeben dieses dann an die Abfragefunktion.

$Password = Read-Host -AsSecureString -Prompt "Enter password for Account: "
$Credential = New-Object System.Management.Automation.PSCredential ("Domain\Username", $Password)

Get-WmiObject -Class Win32_BIOS -ComputerName 10.0.3.200 -Credential $Credential -ErrorAction Stop

🏁 Fazit

Mittels PowerShell können über die WMI Schnittstelle sehr schnell und einfach grundlegende Inventar-Informationen von Windows-Systemen abgerufen werden. Durch die Vielzahl der verscheidenen WMI Namespaces und Tabellen sind auch viele weitere sehr detaillierte Daten abrufbar.

Mit unserem kostenlosen Network Inventory Tool vereinfachen wir die umfangreiche und schnelle Inventarisierung von Geräten im Netzwerk auf nur einen einzigen Befehl. Inkl. einer Importfähigen Inventarliste im CSV oder JSON Format.

Michael Kostka
Michael Kostka Autor

Geschäftsführer / CEO

Gründer und Geschäftsführer der EntekSystems GmbH. Herr Kostka verantwortet bei uns die Bereiche technischer Vertrieb und Leitung des Tagesgeschäfts.

Mehr erfahren

Weitere Artikel und Beiträge

29.07.2025 Was ist SNMP? Grundlagen, Begriffe & Beispiele

Wir zeigen Ihnen was es mit SNMP Agents, Managern, Traps, OIDs und MIBs auf sich hat und wie SNMP in der Praxis sicher eingesetzt werden kann.

11.02.2025 Was haben gute Rezepte und IT-Inventarisierung gemeinsam?

IT-Inventarisierung ist wie ein gutes Rezept: Wie können die richtigen Zutaten und eine präzise Zubereitung dafür sorgen, dass Ihre IT optimal funktioniert? In diesem Artikel werfen wir einen Blick darauf, wie Sie Ihre IT-Inventarisierung erfolgreich „zubereiten“.

10.09.2024 Daily Business im Helpdesk: Ab wann lohnt sich ein Umstieg auf ein ITAM?

Der Helpdesk-Alltag ist oft überlastet durch Support-Anfragen und IT-Verwaltung. Wann ist es Zeit für ein IT Asset Management (ITAM)-System? In diesem Artikel beleuchten wir die Anzeichen für den Bedarf und die Vorteile eines Umstiegs, um Ihre Helpdesk-Operationen zu optimieren.