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.