Come mostrare tutte le proprietà di un oggetto PowerShell
-
Usa
Get-WmiObject
per Mostrare Tutte le Proprietà di un Oggetto PowerShell - Recupera le Informazioni dell’Istanze/ dell’Oggetto della Classe
-
Usa il Cmdlet
Format-List
per Visualizzare le Proprietà - Conclusione

Ci sono requisiti per trovare informazioni sulla macchina Windows e sui suoi componenti, come rete, applicazioni e servizi. Il Common Information Model (CIM) è uno standard open-source per la manipolazione di questi componenti e delle loro informazioni.
Microsoft ha implementato il suo standard sopra CIM chiamato Windows Management Instrumentation (WMI) per interrogare e manipolare informazioni su computer, servizi e rete.
Usa Get-WmiObject
per Mostrare Tutte le Proprietà di un Oggetto PowerShell
Il cmdlet Get-WmiObject
è uno strumento potente, particolarmente per compiti di amministrazione e gestione di sistema. Consente l’accesso ai dati di Windows Management Instrumentation (WMI), che includono una vasta gamma di informazioni sul sistema, come dettagli sull’hardware, software installato, configurazione della rete, e altro.
Una delle capacità meno conosciute ma potenti di Get-WmiObject
è l’uso del parametro -List
. Questa opzione consente agli utenti di recuperare un elenco di tutte le classi WMI all’interno di uno namespace specificato.
La sintassi di base di Get-WmiObject -List
è:
Get-WmiObject -List [-Namespace <String>] [-ComputerName <String>]
I parametri chiave includono:
-Namespace <String>
: Specifica lo namespace del repository WMI. Il predefinito èroot\cimv2
, che contiene la maggior parte delle classi WMI comunemente utilizzate.-ComputerName <String>
: Punta a un computer remoto. Senza questo parametro, il cmdlet opera sulla macchina locale.
Pertanto, il processo di gestione del sistema Windows diventa molto più facile. Controlliamo le classi disponibili utilizzando il cmdlet Get-WmiObject
.
Get-WmiObject -List
Questo comando restituirà tutte le classi disponibili nello namespace predefinito della tua macchina locale. Lo namespace predefinito è ROOT\cimv2
nel computer Windows.
Output:
È possibile specificare un namespace diverso da quello predefinito (ROOT\cimv2
). Possiamo usare il parametro -Namespace
per cambiare lo namespace predefinito.
Get-WmiObject -Namespace <custom_namespace>
Recupera le Informazioni dell’Istanze/ dell’Oggetto della Classe
L’uso di Get-WmiObject -Class
è principalmente per recuperare informazioni dettagliate su un aspetto particolare del sistema. Ad esempio, interrogare la classe Win32_Processor
fornisce informazioni sul processore, mentre Win32_OperatingSystem
rivela dettagli sul sistema operativo.
Il parametro -Class
di questo cmdlet consente agli utenti di interrogare classi specifiche all’interno del repository WMI, che sono essenzialmente modelli per gli oggetti che rappresentano informazioni di sistema. Queste classi coprono una vasta gamma di dati, dai dettagli hardware alle impostazioni di configurazione.
Sintassi:
Get-WmiObject -Class <String> [-Namespace <String>] [-ComputerName <String>]
I parametri chiave includono:
-Class <String>
: Specifica la classe WMI per la quale sono richieste informazioni.-Namespace <String>
: Opzionale. Specifica lo namespace del repository WMI (il predefinito èroot\cimv2
).-ComputerName <String>
: Opzionale. Indirizza il comando a un computer remoto.
Ci sono centinaia di classi WMI disponibili per l’uso. Possiamo recuperare le informazioni per una classe data, come mostrato nel seguente.
Get-WmiObject -Class Win32_computersystem
Qui, stiamo recuperando informazioni per la classe Win32_computersystem
. Restituisce l’oggetto Win32_computersystem
con le sue proprietà, che contiene tutte le informazioni sul sistema computer, come mostrato nel seguente.
Ci sono un numero limitato di proprietà mostrate nell’output. L’oggetto Win32_computersystem
contiene più proprietà di queste.
Possiamo usare il cmdlet Format-List
per visualizzare tutte le proprietà di un oggetto recuperato.
Usa il Cmdlet Format-List
per Visualizzare le Proprietà
Il Format-List
può essere pipelined con l’output di un altro comando per formattare i risultati. Questo cmdlet può visualizzare le proprietà specificate o tutte le proprietà di un oggetto WMI recuperato in un formato leggibile.
Sintassi:
Get-WmiObject -Class Win32_computersystem | Format-List -Property Name, Model, Manufacturer
Specifichiamo alcune proprietà per l’istanza Win32_computersystem
.
Format-List [-Property <PropertyName[]>]
: Formatizza l’output come un elenco.-Property <PropertyName[]>
: (Opzionale) Specifica le proprietà da visualizzare. Se omesso, vengono mostrate tutte le proprietà.
Output:
Il Get-WmiObject
restituisce le proprietà predefinite per l’oggetto Win32_computersystem
. Poi, l’output sarà passato attraverso l’operatore di pipeline (|
) al comando Format-List
.
Possiamo passare il parametro -Property
al cmdlet Format-List
. Questo filtrerà l’output finale con le tre proprietà date.
A volte, è importante controllare tutte le proprietà e i valori disponibili per un oggetto WMI specificato. In tal caso, è necessario utilizzare -Property *
per recuperare tutte le proprietà disponibili e i loro valori.
Il *
indica tutte le proprietà.
Get-WmiObject -Class Win32_computersystem | Format-List -Property *
Output:
L’output contiene tutte le proprietà e i valori disponibili per l’oggetto Win32_computersystem
. Possiamo omettere il parametro -Property
nel comando sopra e scriverlo.
Get-WmiObject -Class Win32_computersystem | Format-List *
Il comando sopra dovrebbe visualizzare lo stesso output di sopra.
Conclusione
In questa esplorazione di Get-WmiObject
di PowerShell, abbiamo scoperto il suo ruolo cruciale nella gestione del sistema Windows. Il parametro -List
abilita gli utenti a enumerare tutte le classi WMI, facilitando l’identificazione delle fonti di dati pertinenti.
Concentrandosi su -Class
, abbiamo dimostrato la sua precisione nel recuperare informazioni dettagliate sul sistema, esemplificato con Win32_ComputerSystem
. L’aggiunta di Format-List
migliora la leggibilità dell’output, fondamentale quando si tratta di lunghe liste di proprietà.
Per approfondire la tua conoscenza, esplora diverse classi WMI come Win32_Processor
o Win32_OperatingSystem
. Incorporare Get-WmiObject
nei script può semplificare i compiti di gestione del sistema.
Come strumento versatile, Get-WmiObject
soddisfa sia i principianti che gli utenti esperti, incarnando la sua importanza in PowerShell per compiti IT e automazione diversificati.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.