Uso di WMI

È possibile usare WMI da applicazioni client e script. Fornisce un'infrastruttura che semplifica sia l'individuazione che l'esecuzione di attività di gestione. Inoltre, è possibile aggiungere al set di possibili attività di gestione creando provider WMI personalizzati.

Nota

La versione di nuova generazione di WMI per la scrittura di applicazioni e script è disponibile tramite Windows Management Infrastructure (MI). Per altre informazioni, vedere Provider e client mi-mi.

In questa sezione vengono illustrati gli argomenti seguenti:

Recupero di dati da WMI

La procedura seguente descrive come ottenere dati da WMI scrivendo uno script o un'applicazione.

Per ottenere dati da WMI scrivendo uno script o un'applicazione

  1. Decidere quale lingua usare. Per altre informazioni sullo scripting, vedere Creazione di uno script WMI. Per altre informazioni su C++, vedere Creazione di un'applicazione WMI con C++. Per altre informazioni su C# o WMI .NET, vedere Panoramica di WMI .NET.

    È possibile visualizzare o modificare i dati WMI in molte lingue. Nella tabella seguente sono elencati gli argomenti che descrivono come usare i linguaggi di scripting e dell'applicazione per ottenere i dati.

Lingua dell'applicazione Argomento
Script scritti nell'hosting di script Microsoft ActiveX, tra cui Visual Basic Scripting Edition (VBScript) e Perl
API di scripting per WMI.
Iniziare con La creazione di uno script WMI.
Per esempi di codice script, vedere Attività WMI per script e applicazioni e il repository di script TechNet ScriptCenter .
Windows PowerShell
Introduzione a Windows PowerShell
Cmdlet di PowerShell WMI, ad esempio Get-WmiObject.
Applicazioni Visual Basic
API di scripting per WMI.
Pagine server attive
API di scripting per WMI.
Iniziare con La creazione di pagine server attive per WMI.
Applicazioni C++
API COM per WMI.
Iniziare con La creazione di un'applicazione WMI con C++ e WMI C++ Application Examples (contiene esempi).
Applicazioni .NET Framework scritte in C#, Visual Basic .NET o J#
Classi nello spazio dei nomi Microsoft.Management.Infrastructure.
Nota: System.Management è lo spazio dei nomi originale che ha trattato il codice gestito per WMI. Tuttavia, la tecnologia sottostante per System.Management è in genere più lenta di e non viene ridimensionata così come Microsoft.Management.Infrastructure. Di conseguenza, non è consigliabile usare System.Management per i nuovi progetti. (Per altre informazioni su System.Management, vedere Cenni preliminari su .NET WMI.
  1. Assicurarsi che le connessioni ai computer remoti funzionino.

    Per altre informazioni, vedere Connessione a WMI in un computer remoto.

  2. La connessione a WMI nei computer remoti richiede le impostazioni di sicurezza corrette, come illustrato in Gestione della sicurezza WMI. Nella tabella seguente sono elencati gli argomenti che descrivono come configurare le impostazioni di sicurezza con i linguaggi di scripting e applicazione.

    Lingua Argomento
    Script in qualsiasi linguaggio, applicazioni Visual Basic
    Impostazione del livello di sicurezza del processo predefinito tramite VBScript
    Pagine server attive
    Configurazione di IIS 5 e versioni successive per lo scripting ASP WMI
    C++
    Impostazione del livello di sicurezza del processo predefinito con C++ e impostazione della sicurezza in IWbemServices e altri proxy
  3. Dopo la connessione a WMI, è possibile ottenere dati tramite query ed enumerazioni.

    Per altre informazioni, vedere Modifica delle informazioni sulle classi e sull'istanza ed esecuzione di query con WQL.

  4. I dati del Registro di sistema sono disponibili tramite WMI ed è possibile creare nuove chiavi e valori o modificarli esistenti.

    Per altre informazioni, vedere Modifica del Registro di sistema.

  5. È possibile sottoscrivere le notifiche degli eventi tramite WMI, temporaneamente tra riavvii di sistema o in modo permanente.

    Per altre informazioni, vedere Monitoraggio degli eventi e ricezione di un evento WMI.

  6. I dati del contatore delle prestazioni per un sistema sono disponibili tramite WMI.

    I contatori della libreria delle prestazioni di sistema vengono convertiti in classi WMI. Per altre informazioni, vedere Monitoraggio dei dati sulle prestazioni.

  7. Attività WMI per script e applicazioni descrive come eseguire molte attività amministrative con WMI.

Fornire dati a WMI

La procedura seguente descrive come fornire dati a WMI scrivendo un provider.

Per fornire dati a WMI scrivendo un provider

  • Decidere il tipo di provider da scrivere.

    Non è possibile scrivere un provider WMI in VBScript. Tuttavia, è possibile adottare diversi altri approcci per scrivere un provider COM WMI:

    • Utilizzo della Procedura guidata ATL WMI in Visual Studio.

      Questo approccio crea un provider COM non gestito. Per altre informazioni, vedere Aggiunta di un provider di istanze WMI e Aggiunta di un provider di eventi WMI.

    • Uso diretto di COM in qualsiasi ambiente di sviluppo integrato.

      Questo approccio crea un provider COM non gestito.

    • Uso di WMI in .NET Framework per creare un provider di codice gestito.

      Questo approccio crea un provider di codice gestito. I provider di codice gestito possono essere scritti in qualsiasi linguaggio .NET Framework, sono più semplici da scrivere rispetto ai provider COM WMI e possono ottenere dati dalle classi basate su CIM WMI, ad esempio classi Win32. Tuttavia, il provider WMI di .NET Framework presenta alcune limitazioni. Per altre informazioni, vedere Gestione di applicazioni tramite WMI.

    • Non è consigliabile usare le classi del framework del provider.

      Il framework del provider è stato sostituito dalle procedure guidate WMI ATL, usando direttamente COM o provider .NET Framework. La creazione di un provider COM WMI con le classi del framework del provider non è più consigliata. Nella tabella seguente sono elencati gli argomenti che descrivono come usare provider COM o .NET Framework.

    Provider Argomento
    Provider COM nello stesso processo di WMI
    Fornire dati a WMI
    Provider disaccoppiato COM
    Incorporazione di un provider in un'applicazione
    Provider .NET Framework in C# o Visual Basic.NET
    Gestione delle applicazioni tramite WMI

Attività importanti per WMI

Negli argomenti seguenti vengono fornite informazioni sull'uso di WMI per monitorare e controllare i componenti aziendali.

Argomento Descrizione
Attività WMI per script e applicazioni
Viene descritto come trovare la classe e le procedure WMI corrette da utilizzare in script e applicazioni che eseguono attività comuni di amministrazione di computer e di rete, ad esempio l'aggiunta di una nuova connessione stampante per un computer remoto o la ricerca di tutti gli hotfix installati in un computer.
Creazione di un'applicazione o uno script WMI
Qualsiasi linguaggio di scripting, ad esempio VBScript o Perl, che funziona con oggetti ActiveX può accedere ai dati WMI. Le applicazioni possono accedere a WMI in C++, usando l'API COM per WMI o in Visual Basic, usando la libreria dei tipi Wbemdisp.tlbe l'API di scripting per WMI.
Connessione a WMI in un computer remoto
Descrive in che modo script, applicazioni e provider possono stabilire connessioni a WMI nei computer remoti per ottenere dati o controllare hardware e software.
Connessione a WMI in un computer remoto tramite Windows PowerShell
Descrive come usare Windows PowerShell per stabilire connessioni a WMI su computer remoti per ottenere dati o per controllare hardware e software.
Monitoraggio degli eventi
Viene descritto come ottenere notifiche degli eventi creando consumer di eventi WMI temporanei o permanenti.
Fornire dati a WMI
WMI fornisce dati di gestione dinamica agli script client e alle applicazioni ottenendoli dai provider.
Recupero e fornitura di dati in un computer a 64 bit
Viene descritto come accedere a provider non predefiniti e considerazioni per i writer di provider in sistemi a 64 bit.