HOWTO · PowerShell

Wie man alle Eigenschaften eines PowerShell-Objekts anzeigt

Die WMI-Objekte können mit dem Cmdlet Get-WmiObject abgerufen werden. Es werden nur eine begrenzte Anzahl von Eigenschaften pro Objekt angezeigt. Es ist möglich, das Cmdlet Format-List zu verwenden, um das Ergebnis weiterzuleiten und alle verfügbaren Eigenschaften anzuzeigen.

Auf dieser Seite

Es gibt Anforderungen, um Informationen über die Windows-Maschine und ihre Komponenten, wie Netzwerk, Anwendungen und Dienste, zu finden. Das Common Information Model (CIM) ist ein Open-Source-Standard zur Manipulation dieser Komponenten und ihrer Informationen.

Microsoft hat seinen Standard auf CIM implementiert, der Windows Management Instrumentation (WMI) genannt wird, um Computer-, Dienst- und Netzwerkinformationen abzufragen und zu manipulieren.

Verwenden von Get-WmiObject, um alle Eigenschaften eines PowerShell-Objekts anzuzeigen

Das Cmdlet Get-WmiObject ist ein leistungsstarkes Werkzeug, insbesondere für Systemadministrations- und Managementaufgaben. Es ermöglicht den Zugriff auf Windows Management Instrumentation (WMI)-Daten, die eine Fülle von Informationen über das System enthalten, wie Details über Hardware, installierte Software, Netzwerkkonfiguration und mehr.

Eine der weniger bekannten, aber dennoch leistungsstarken Funktionen von Get-WmiObject ist die Verwendung des Parameters -List. Diese Option ermöglicht es Benutzern, eine Liste aller WMI-Klassen innerhalb eines bestimmten Namensraums abzurufen.

Die grundlegende Syntax von Get-WmiObject -List lautet:

Get-WmiObject -List [-Namespace <String>] [-ComputerName <String>]

Wichtige Parameter sind:

  • -Namespace <String>: Gibt den Namensraum des WMI-Repositorys an. Der Standard ist root\cimv2, der die meisten der häufig verwendeten WMI-Klassen enthält.
  • -ComputerName <String>: Zielt auf einen Remote-Computer. Ohne diesen Parameter funktioniert das Cmdlet auf der lokalen Maschine.

Daher wird der Windows-Systemverwaltungsprozess viel einfacher. Lassen Sie uns die verfügbaren Klassen mit dem Cmdlet Get-WmiObject überprüfen.

Get-WmiObject -List

Dieser Befehl gibt alle Klassen aus, die im Standardnamensraum Ihrer lokalen Maschine verfügbar sind. Der Standardnamensraum ist ROOT\cimv2 im Windows-Computer.

Ausgabe:

Get-WmiObject

Es ist möglich, einen anderen Namensraum als den Standardnamensraum (ROOT\cimv2) anzugeben. Wir können den Parameter -Namespace verwenden, um den Standardnamensraum zu ändern.

Get-WmiObject -Namespace <custom_namespace>

Abrufen der Klasseninstanz-/Objektinformationen

Die Verwendung von Get-WmiObject -Class dient in erster Linie dem Abrufen detaillierter Informationen über einen bestimmten Aspekt des Systems. Beispielsweise gibt die Abfrage der Klasse Win32_Processor Informationen über den Prozessor zurück, während Win32_OperatingSystem Details über das Betriebssystem offenbart.

Der Parameter -Class dieses Cmdlets ermöglicht es Benutzern, bestimmte Klassen innerhalb des WMI-Repositorys abzufragen, die im Wesentlichen Vorlagen für die Objekte sind, die Systeminformationen darstellen. Diese Klassen decken ein breites Spektrum an Daten ab, von Hardwaredetails bis hin zu Konfigurationseinstellungen.

Syntax:

Get-WmiObject -Class <String> [-Namespace <String>] [-ComputerName <String>]

Wichtige Parameter sind:

  • -Class <String>: Gibt die WMI-Klasse an, für die Informationen benötigt werden.
  • -Namespace <String>: Optional. Gibt den Namensraum des WMI-Repositorys an (Standard ist root\cimv2).
  • -ComputerName <String>: Optional. Leitet den Befehl an einen Remote-Computer weiter.

Es gibt Hunderte von WMI-Klassen, die verwendet werden können. Wir können die Informationen für eine bestimmte Klasse abrufen, wie im Folgenden gezeigt.

Get-WmiObject -Class Win32_computersystem

Hier rufen wir Informationen für die Klasse Win32_computersystem ab. Es gibt das Win32_computersystem-Objekt mit seinen Eigenschaften zurück, die alle Informationen über das Computer-system enthalten, wie im Folgenden gezeigt.

Get-WmiObject -Class

Es werden nur eine begrenzte Anzahl von Eigenschaften in der Ausgabe angezeigt. Das Win32_computersystem-Objekt enthält mehr Eigenschaften als diese.

Wir können das Cmdlet Format-List verwenden, um alle Eigenschaften eines abgerufenen Objekts anzuzeigen.

Verwenden des Cmdlets Format-List, um Eigenschaften anzuzeigen

Das Format-List-Cmdlet kann mit der Ausgabe eines anderen Befehls kombiniert werden, um die Ergebnisse zu formatieren. Dieses Cmdlet kann die angegebenen oder alle Eigenschaften eines abgerufenen WMI-Objekts in einem lesbaren Format anzeigen.

Syntax:

Get-WmiObject -Class Win32_computersystem | Format-List -Property Name, Model, Manufacturer

Lassen Sie uns einige Eigenschaften für die Instanz Win32_computersystem angeben.

  • Format-List [-Property <PropertyName[]>]: Formatiert die Ausgabe als Liste.
  • -Property <PropertyName[]>: (Optional) Gibt die anzuzeigenden Eigenschaften an. Wenn dieser Parameter weggelassen wird, werden alle Eigenschaften angezeigt.

Ausgabe:

Formatieren-Liste

Das Get-WmiObject gibt die Standard-eigenschaften für das Win32_computersystem-Objekt zurück. Dann wird die Ausgabe durch den Pipeline-Operator (|) an den Befehl Format-List weitergeleitet.

Wir können den Parameter -Property an das Cmdlet Format-List übergeben. Dadurch wird die finale Ausgabe mit den angegebenen drei Eigenschaften gefiltert.

Manchmal ist es wichtig, alle verfügbaren Eigenschaften und Werte für ein bestimmtes WMI-Objekt zu überprüfen. In diesem Fall müssen Sie -Property * verwenden, um alle verfügbaren Eigenschaften und deren Werte abzurufen.

Das * bezeichnet alle Eigenschaften.

Get-WmiObject -Class Win32_computersystem | Format-List -Property *

Ausgabe:

Format-List -Property

Die Ausgabe enthält alle Eigenschaften und die verfügbaren Werte für das Win32_computersystem-Objekt. Wir können den Parameter -Property im obigen Befehl weglassen und ihn so schreiben.

Get-WmiObject -Class Win32_computersystem | Format-List *

Der obige Befehl sollte die gleiche Ausgabe wie oben anzeigen.

Fazit

In dieser Erkundung von PowerShells Get-WmiObject haben wir seine zentrale Rolle im Windows-Management beleuchtet. Der Parameter -List ermöglicht es Benutzern, alle WMI-Klassen aufzulisten, was die Identifizierung relevanter Datenquellen unterstützt.

Mit dem Fokus auf -Class haben wir seine Präzision beim Abrufen detaillierter Systeminformationen demonstriert, veranschaulicht durch Win32_ComputerSystem. Die Ergänzung von Format-List verbessert die Lesbarkeit der Ausgabe, was entscheidend ist, wenn man es mit umfangreichen Eigenschaftslisten zu tun hat.

Um Ihr Wissen zu vertiefen, tauchen Sie in verschiedene WMI-Klassen wie Win32_Processor oder Win32_OperatingSystem ein. Die Integration von Get-WmiObject in Skripte kann Systemverwaltungsaufgaben optimieren.

Als vielseitiges Werkzeug spricht Get-WmiObject sowohl Anfänger als auch erfahrene Benutzer an und verkörpert seine Bedeutung in PowerShell für verschiedene IT-Aufgaben und Automatisierung.