Comment répertorier toutes les propriétés d'un objet PowerShell


121

Quand je regarde la classe Win32_ComputerSystem , elle montre des tas de propriétés comme Status, PowerManagementCapabilitiesetc.

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

Comment puis-je voir toutes les propriétés?

Réponses:


139

Essaye ça:

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

Pour certains objets, PowerShell fournit un ensemble d'instructions de mise en forme qui peuvent affecter les formats de table ou de liste. Celles-ci visent généralement à limiter l'affichage de rames de propriétés aux seules propriétés essentielles. Cependant, il y a des moments où vous voulez vraiment tout voir. Dans ces cas Format-List *, toutes les propriétés seront affichées. Notez que dans le cas où vous essayez d'afficher un enregistrement d'erreur PowerShell, vous devez utiliser "Format-List * -Force" pour afficher réellement toutes les informations d'erreur, par exemple,

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

Notez que le joker peut être utilisé comme une wilcard traditionnelle ceci:

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

1
Je préfère Get-WmiObject -Class win32_computersystem -Property *. C'est court et doux
Kolob Canyon

38

Si vous voulez savoir quelles propriétés (et méthodes) il y a:

Get-WmiObject -Class "Win32_computersystem" | Get-Member

6
Je ne vais pas vous marquer à cause du libellé de la question initiale. Mais il convient de souligner que Get-Member ne répertorie pas les propriétés et leurs valeurs uniquement les noms et types de propriété / méthode.
rob

1
Ceci est très utile lors de la création de scripts pour connaître le type de données que contient chaque champ et pour lister tous les noms de champs disponibles sans récupérer de données. Merci!
Yanick Girouard

30

Vous pouvez aussi utiliser:

Get-WmiObject -Class "Win32_computersystem" | Select *

Cela affichera le même résultat que Format-List * utilisé dans les autres réponses ici.


4
C'est en fait mieux que la méthode dans la réponse acceptée, car en utilisant cette méthode, vous avez toujours des objets riches, alors que l'utilisation Format-Listdétruira tous les objets dans le pipeline.
Jessie Westlake

7

J'aime

 Get-WmiObject Win32_computersystem | format-custom *

Cela semble tout élargir.

Il existe également une commande show-object dans le module PowerShellCookbook qui le fait dans une interface graphique. Jeffrey Snover, le créateur de PowerShell, l'utilise dans ses vidéos débranchées (recommandé).

Bien que le plus souvent j'utilise

Get-WmiObject Win32_computersystem | fl *

Cela évite le fichier .format.ps1xml qui définit une vue de table ou de liste pour le type d'objet, s'il y en a. Le fichier de format peut même définir des en-têtes de colonne qui ne correspondent à aucun nom de propriété.


4
format-custom *semble la réponse qui montre vraiment tout
Chris F Carroll

4

La manière la plus succincte d'y parvenir est:

Get-WmiObject -Class win32_computersystem -Property *

1
Succinct, peut-être, mais incomplet. Cela répertorie uniquement les propriétés initialement vues (5) par rapport aux 83 qui apparaissent lors de l'utilisation de: Get-WmiObject -Class "Win32_computersystem" | Sélectionnez *
boB
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.