2011-08-31 26 views
77

Quando guardo il Win32_ComputerSystem class, mostra i carichi di immobili come Status, PowerManagementCapabilities, ecc Tuttavia, quando in PowerShell faccio il seguito ho solo indietro di un paio:Come elencare tutte le proprietà di un oggetto PowerShell?

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 

Come posso visualizzare tutte le proprietà ?

risposta

88

Prova questo:

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

Per alcuni oggetti, PowerShell fornisce una serie di istruzioni di formattazione che può influenzare i formati sia la tabella o un elenco. Questo in genere significa limitare la visualizzazione di risme di proprietà solo alle proprietà essenziali. Tuttavia ci sono momenti in cui vuoi davvero vedere tutto. In questi casi, Format-List * mostrerà tutte le proprietà. Si noti che nel caso in cui si stia tentando di visualizzare un record di errori di PowerShell, è necessario utilizzare "Format-List * -Force" per visualizzare veramente tutte le informazioni di errore, ad es.

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

Si noti che il carattere jolly può essere utilizzato come una wildcard tradizionale questo:

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

preferisco 'Get-WmiObject -Class Win32_ComputerSystem -Property *'. È breve e dolce –

23

Se volete sapere quali proprietà (e metodi) sono lì:

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

Non ho intenzione di segnarti a causa della formulazione della domanda originale. Ma vale la pena sottolineare che Get-Member non elenca le proprietà e i loro valori solo i nomi e i tipi di proprietà/metodo. – rob

20

Puoi utilizzare anche

Get-WmiObject -Class "Win32_computersystem" | Select * 

questo mostrerà lo stesso risultato di Format-List * usato nell'altra risposta qui.

+2

Questo è in realtà migliore del metodo nella risposta accettata, poiché usando questo metodo hai ancora oggetti ricchi, mentre usare 'Format-List' distruggerà tutti gli oggetti lungo la pipeline. –

1

mi piace

Get-WmiObject -Class "Win32_computersystem" | format-custom * 

che sembra espandersi tutto.

C'è anche un comando show-object nel modulo PowerShellCookbook che lo fa in un gui. Jeffrey Snover, il creatore di Powershell, lo usa nei suoi video scollegati (consigliato).

+0

'format-custom *' sembra la risposta che _really_ mostra tutto –

2

Il modo più sintetico per fare questo:

Get-WmiObject -Class win32_computersystem -Property * 
Problemi correlati