Esecuzione di query SU WMI

Uno degli strumenti principali di Strumentazione gestione Windows (WMI) è la possibilità di eseguire query sul repository WMI per le informazioni sulla classe e sull'istanza. Ad esempio, è possibile richiedere che WMI restituisca tutti gli oggetti che rappresentano gli eventi di arresto dal sistema desktop. È anche possibile recuperare i dati della classe, dell'istanza o dello schema. Nella tabella seguente sono elencati i diversi tipi di query che è possibile eseguire.

Argomento Descrizione
Chiamata di una query sincrona Viene descritto come gestire un collegamento con WMI durante il processo di query. Le query sincrone sono valide per query di piccole dimensioni o query in un sistema locale.
Richiamo di una query asincrona Descrive come configurare un processo separato per ricevere query. Le query asincrone sono più complesse e offrono un livello inferiore di sicurezza, ma in genere migliorano le prestazioni del sistema.

Oltre a eseguire query sul repository WMI, è anche possibile usare WMI Query Language (WQL) per instradare gli eventi di notifica all'applicazione. Per altre informazioni, vedere Ricezione di un evento WMI.

Nota

Per eseguire correttamente una query WMI, è necessario avere una buona comprensione di WQL. Una query non corretta, troppo complessa o inappropriata può causare la restituzione di un errore o di risultati imprevisti. Per una guida completa a WQL, vedere Esecuzione di query con WQL.

Esistono limiti al numero di parole chiave AND e OR che possono essere usate nelle query WQL. Un numero elevato di parole chiave WQL usate in una query complessa può causare la restituzione del codice di errore WBEM_E_QUOTA_VIOLATION come valore HRESULT . Il limite di parole chiave WQL dipende dalla complessità della query.

Quando si esegue una query per i valori delle proprietà con un tipo di dati uint64 o sint64 in un linguaggio di scripting come VBScript, WMI restituisce valori stringa. I risultati imprevisti possono verificarsi quando si confrontano questi valori, perché il confronto di stringhe restituisce risultati diversi rispetto al confronto dei numeri. Ad esempio, "10000000000" è minore di "9" quando si confrontano stringhe e 9 è minore di 100000000000 quando si confrontano i numeri. Per evitare confusione, è consigliabile usare il metodo CDbl in VBScript quando le proprietà di tipo uint64 o sint64 vengono recuperate da WMI.

Nota

Per altre informazioni, vedere Modifica delle informazioni sulla classe e sull'istanza.