Come mostrare tutte le proprietà di un oggetto PowerShell

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

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:

Get-WmiObject

È 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.

Get-WmiObject -Class

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:

Formato-Elenco

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:

Formatta-Elenco -Proprietà

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.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.

Articolo correlato - PowerShell Object