So listen Sie alle Eigenschaften eines PowerShell-Objekts auf

121

Als ich im Blick Klasse Win32_ComputerSystem , zeigt es jede Menge Eigenschaften wie Status, PowerManagementCapabilitiesusw. Wenn jedoch in Powershell ich die folgend ich nur ein paar zurück:

PS C:\Windows\System32\drivers> Get-WmiObject -Class "Win32_computersystem"

Domain              : YYY.com
Manufacturer        : VMware, Inc.
Model               : VMware Virtual Platform
Name                : LONINEGFQEF58
PrimaryOwnerName    : Authorised User
TotalPhysicalMemory : 2147016704

Wie kann ich alle Eigenschaften sehen?

lara400
quelle

Antworten:

139

Versuche dies:

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

Für bestimmte Objekte bietet PowerShell eine Reihe von Formatierungsanweisungen, die sich entweder auf das Tabellen- oder das Listenformat auswirken können. Diese sollen normalerweise die Anzeige von Unmengen von Eigenschaften auf die wesentlichen Eigenschaften beschränken. Es gibt jedoch Zeiten, in denen Sie wirklich alles sehen möchten. In diesen Fällen Format-List *werden alle Eigenschaften angezeigt. Beachten Sie, dass Sie in dem Fall, in dem Sie versuchen, einen PowerShell-Fehlerdatensatz anzuzeigen, "Format-List * -Force" verwenden müssen, um wirklich alle Fehlerinformationen anzuzeigen, z.

$error[0] | Format-List * -force

Beachten Sie, dass der Platzhalter wie ein herkömmlicher Wildcard verwendet werden kann:

Get-WmiObject -Class "Win32_computersystem" | Format-List M*
Keith Hill
quelle
1
Ich bevorzuge Get-WmiObject -Class win32_computersystem -Property *. Es ist kurz und süß
Kolob Canyon
38

Wenn Sie wissen möchten, welche Eigenschaften (und Methoden) es gibt:

Get-WmiObject -Class "Win32_computersystem" | Get-Member
manojlds
quelle
6
Ich werde Sie wegen des Wortlauts der ursprünglichen Frage nicht notieren. Es sei jedoch darauf hingewiesen, dass Get-Member die Eigenschaften und ihre Werte nicht nur die Namen und Typen der Eigenschaften / Methoden auflistet.
Rob
1
Dies ist sehr nützlich, wenn Sie Skripte erstellen, um den Datentyp zu kennen, den jedes Feld enthält, und um alle verfügbaren Feldnamen aufzulisten, ohne Daten abzurufen. Vielen Dank!
Yanick Girouard
30

Sie können auch verwenden:

Get-WmiObject -Class "Win32_computersystem" | Select *

Dies zeigt das gleiche Ergebnis wie die Formatliste *, die in den anderen Antworten hier verwendet wird.

Rikels
quelle
4
Dies ist tatsächlich besser als die Methode in der akzeptierten Antwort, da Sie mit dieser Methode immer noch umfangreiche Objekte haben, während die Verwendung Format-Listalle Objekte in der Pipeline zerstört.
Jessie Westlake
7

ich mag

 Get-WmiObject Win32_computersystem | format-custom *

Das scheint alles zu erweitern.

Es gibt auch einen Befehl show-object im PowerShellCookbook-Modul, der dies in einer GUI ausführt. Jeffrey Snover, der PowerShell-Entwickler, verwendet es in seinen nicht angeschlossenen Videos (empfohlen).

Obwohl ich meistens benutze

Get-WmiObject Win32_computersystem | fl *

Es wird die Datei .format.ps1xml vermieden, die eine Tabellen- oder Listenansicht für den Objekttyp definiert, falls vorhanden. Die Formatdatei kann sogar Spaltenüberschriften definieren, die keinen Eigenschaftsnamen entsprechen.

js2010
quelle
4
format-custom *scheint die Antwort, die wirklich alles zeigt
Chris F Carroll
4

Der prägnanteste Weg, dies zu tun, ist:

Get-WmiObject -Class win32_computersystem -Property *
Kolob Canyon
quelle
1
Prägnant vielleicht, aber unvollständig. Dies listet nur die ursprünglich gesehenen (5) Eigenschaften gegenüber den 83 auf, die angezeigt werden, wenn Folgendes verwendet wird: Get-WmiObject -Class "Win32_computersystem" | Wählen Sie *
boB