Esecuzione di query SU WMI

Uno degli strumenti principali di Strumentazione gestione Windows (WMI) è la possibilità di eseguire query sul repository WMI per ottenere 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 dati di classe, istanza o schema. Nella tabella seguente sono elencati i diversi tipi di query che è possibile eseguire.

Argomento Descrizione
Richiamo di una query sincrona Viene descritto come gestire un collegamento con WMI durante il processo di query. Le query sincrone sono valide per query o query di piccole dimensioni in un sistema locale.
Chiamata di una query asincrona Viene descritto come configurare un processo separato per la ricezione di query. Le query asincrone sono più complesse e offrono un livello di sicurezza inferiore, 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 query su WMI, è necessario avere una buona conoscenza di WQL. Una query errata, troppo complessa o inappropriata può causare la restituzione di un errore o di risultati imprevisti da parte di Query Processor. 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 eseguono query sui 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 durante il confronto di questi valori, perché il confronto di stringhe restituisce risultati diversi rispetto al confronto dei numeri. Ad esempio, "10000000000" è minore di "9" durante il confronto delle stringhe e 9 è minore di 100000000000 durante il confronto dei 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.