Architettura WMI

WMI fornisce un'interfaccia uniforme per qualsiasi applicazione locale o remota o script che ottengono dati di gestione da un sistema computer, da una rete o da un'azienda. L'interfaccia uniforme è progettata in modo che le applicazioni client WMI e gli script non devono chiamare un'ampia gamma di interfacce di programmazione dell'applicazione del sistema operativo (API). Molte API non possono essere chiamate da client di automazione come script o applicazioni Visual Basic. Altre API non effettuano chiamate ai computer remoti.

Per ottenere dati da WMI, scrivere uno script client o un'applicazione che accede alle classi WMI o fornire dati a WMI scrivendo un provider WMI. Per altre informazioni, vedere Uso di WMI.

Oggetti, consumer e infrastruttura di WMI

Il diagramma seguente illustra la relazione tra l'infrastruttura WMI e i provider WMI e gli oggetti gestiti e mostra anche la relazione tra l'infrastruttura WMI e i consumer WMI.

relazione tra l'infrastruttura wmi, i provider wmi e gli oggetti gestiti

Componenti WMI

L'elenco seguente descrive i componenti WMI principali:

  • Oggetti gestiti e provider WMI

    Un provider WMI è un oggetto COM che monitora uno o più oggetti gestiti per WMI. Un oggetto gestito è un componente aziendale logico o fisico, ad esempio un disco rigido, una scheda di rete, un sistema di database, un sistema operativo, un processo o un servizio.

    Analogamente a un driver, un provider fornisce WMI con dati da un oggetto gestito e gestisce i messaggi da WMI all'oggetto gestito. I provider WMI sono costituiti da un file DLL e da un file MOF (Managed Object Format) che definisce le classi per cui il provider restituisce i dati ed esegue operazioni. I provider, ad esempio applicazioni WMI C++, usano l'API COM per WMI. Per altre informazioni, vedere Fornire dati a WMI.

    Un esempio di provider è il provider del Registro di sistema preinstallato, che accede ai dati nel Registro di sistema. Il provider del Registro di sistema ha una classe WMI, StdRegProv, con molti metodi ma senza proprietà. Altri provider preinstallati, ad esempio il provider Win32, in genere hanno classi con molte proprietà, ma alcuni metodi, ad esempio Win32_Process o Win32_LogicalDisk. Il file DLL del provider del Registro di sistema, Stdprov.dll, contiene il codice che restituisce dinamicamente i dati quando richiesto dagli script client o dalle applicazioni.

    I file WMI MOF e DLL si trovano in %WINDIR%\System32\Wbem, insieme agli strumenti di Command-Line WMI, ad esempio Winmgmt.exe e Mofcomp.exe. Le classi provider, ad esempio Win32_LogicalDisk, sono definite nei file MOF e quindi compilate nel repository WMI all'avvio del sistema.

  • Infrastruttura WMI

    L'infrastruttura WMI è un componente del sistema operativo Microsoft Windows noto come servizio WMI(winmgmt). L'infrastruttura WMI include due componenti: WMI Core e il repository WMI.

    Il repository WMI è organizzato dagli spazi dei nomi WMI. Il servizio WMI crea alcuni spazi dei nomi, ad esempio root\default, root\cimv2 e root\subscription all'avvio del sistema e preinstalla un set predefinito di definizioni di classe, tra cui le classi Win32, le classi di sistema WMI e altri. Gli spazi dei nomi rimanenti trovati nel sistema vengono creati dai provider per altre parti del sistema operativo o dei prodotti. Per altre informazioni e un elenco di provider WMI trovati nella maggior parte delle versioni del sistema operativo, vedere Provider WMI.

    Il servizio WMI funge da intermediario tra i provider, le applicazioni di gestione e il repository WMI. Solo i dati statici sugli oggetti vengono archiviati nel repository, ad esempio le classi definite dai provider. WMI ottiene la maggior parte dei dati dinamicamente dal provider quando un client lo richiede. È anche possibile configurare le sottoscrizioni per ricevere notifiche degli eventi da un provider. Per altre informazioni, vedere Monitoraggio degli eventi.

  • Consumer WMI

    Un consumer WMI è un'applicazione di gestione o uno script che interagisce con l'infrastruttura WMI. Un'applicazione di gestione può eseguire query, enumerare dati, eseguire metodi provider o sottoscrivere eventi chiamando l'API COM per WMI o l'APIscripting per WMI. Gli unici dati o azioni disponibili per un oggetto gestito, ad esempio un'unità disco o un servizio, sono quelli forniti da un provider.

Uso di WMI

Provider WMI

Creazione di un'applicazione WMI o uno script

Attività WMI per script e applicazioni

Fornire dati a WMI

Classi WMI

Monitoraggio degli eventi

Chiamata di un metodo