about_WMI

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

ARGOMENTO

about_WMI

DESCRIZIONE BREVE

Strumentazione gestione Windows (WMI) usa il modello CIM (Common Information Model) per rappresentare sistemi, applicazioni, reti, dispositivi e altri componenti gestibili dell'azienda moderna.

DESCRIZIONE LUNGA

Strumentazione gestione Windows (WMI) è un'implementazione di Microsoft dello standard di settore Web-Based Enterprise Management (WBEM).

WMI classico usa DCOM per comunicare con periferiche di rete per gestire sistemi remoti. Windows PowerShell® 3.0 introduce un modello di provider CIM che usa WinRM per rimuovere la dipendenza da DCOM. Il modello di provider CIM usa anche le nuove API dei provider WMI che consentono agli sviluppatori di scrivere cmdlet Windows PowerShell in codice nativo (C++).

Non confondere i provider WMI con i provider Windows PowerShell. A molte funzionalità di Windows è associato un provider WMI che ne espone le funzionalità di gestione. Per ottenere i provider WMI, eseguire una query WMI che ottiene le istanze della classe __Provider WMI, ad esempio la query seguente.

        Get-WmiObject -Class __Provider

TRE COMPONENTI DI WMI

I tre componenti seguenti di WMI interagiscono con Windows PowerShell: spazi dei nomi, provider e classi.

Gli spazi dei nomi WMI consentono di organizzare i provider WMI e le classi WMI in gruppi di componenti correlati. In questo modo, sono simili agli spazi dei nomi .NET Framework. Gli spazi dei nomi non sono percorsi fisici, ma sono più simili a database logici. Tutti gli spazi dei nomi WMI sono istanze della classe di sistema __Namespace. A partire da Microsoft Windows 2000 lo spazio dei nomi WMI predefinito è Root/CIMV2. Per usare Windows PowerShell per ottenere gli spazi dei nomi WMI nella sessione corrente, eseguire un comando con questo formato.

        Get-WmiObject -Class __Namespace

Per ottenere gli spazi dei nomi WMI in altri spazi dei nomi, usare il parametro dello spazio dei nomi per modificare il percorso di ricerca. Il comando seguente consente di trovare gli spazi dei nomi WMI che si trovano nello spazio dei nomi Root/Cimv2/Applications.

        Get-WmiObject -Class __Namespace -Namespace 
        root/CIMv2/applications

Gli spazi dei nomi WMI sono gerarchici. Pertanto, per ottenere un elenco di tutti gli spazi dei nomi in un particolare sistema è necessario eseguire una query ricorsiva iniziando dallo spazio dei nomi radice.

I provider WMI espongono informazioni sugli oggetti gestibili di Windows. Un provider recupera i dati da un componente e li passa tramite WMI a un'applicazione di gestione, ad esempio Windows PowerShell. La maggior parte dei provider WMI è costituita da provider dinamici, ossia che ottengono i dati in modo dinamico quando vengono richiesti tramite l'applicazione di gestione.

RICERCA DI CLASSI WMI

In un'installazione predefinita di Windows 8 sono presenti più 1.100 classi WMI in Root/Cimv2. Con un numero di classi WMI così elevato è molto difficile identificare la classe WMI appropriata da usare per eseguire una specifica attività. Windows PowerShell 3.0 offre due metodi per trovare le classi WMI correlate a un argomento specifico.

Ad esempio, per trovare le classi WMI correlate ai dischi nello spazio dei nomi WMI root\CIMV2, è possibile usare una query come quella illustrata di seguito.

        Get-WmiObject -List *disk*

Per trovare le classi WMI correlate alla memoria, è possibile usare una query come quella illustrata di seguito.

        Get-WmiObject -List *memory*

I cmdlet CIM consentono anche di individuare le classi WMI. A tale scopo, usare il cmdlet Get-CIMClass. Il comando indicato di seguito elenca le classi WMI correlate al video.

        Get-CimClass *video*

L'espansione della scheda funziona quando si modificano gli spazi dei nomi WMI, pertanto è utile usarla per rendere gli spazi dei nomi sub-WMI facilmente individuabili. Nell'esempio seguente, il cmdlet Get-CimClass elenca le classi WMI correlate alle impostazioni di risparmio energia. Per individuarlo, digitare lo spazio dei nomi root/CIMV2/WMI, quindi premere il tasto Tab più volte fino a quando viene visualizzato lo spazio dei nomi power. Ecco il comando:

        Get-CimClass *power* -Namespace root/cimv2/power