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.