Metodo SWbemServices.Get
Il metodo Get dell'oggetto SWbemServices recupera un oggetto, ovvero una definizione di classe o un'istanza, in base al percorso dell'oggetto. Questo metodo recupera solo oggetti dallo spazio dei nomi associato all'oggetto SWbemServices corrente.
Il metodo viene chiamato nella modalità sincrona. Per altre informazioni, vedere Chiamata di un metodo.
Per una spiegazione di questa sintassi, vedere Convenzioni di documento per l'API scripting.
Sintassi
objWbemObject = .Get( _
[ ByVal strObjectPath ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
Parametri
-
strObjectPath [facoltativo]
-
Stringa contenente il percorso dell'oggetto da recuperare. Se questo valore è vuoto, l'oggetto vuoto restituito può diventare una nuova classe. Per altre informazioni, vedere Descrizione della posizione di un oggetto WMI.
-
iFlags [facoltativo]
-
Intero che determina il comportamento della query. Questo parametro può accettare i valori seguenti.
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
Consente a WMI di restituire i dati di modifica della classe con la definizione della classe di base. Per altre informazioni sui qualificatori modificati, vedere Localizzazione delle informazioni sulla classe WMI.
objWbemNamedValueSet [facoltativo]
In genere, questo è indefinito. In caso contrario, si tratta di un oggetto SWbemNamedValueSet i cui elementi rappresentano le informazioni di contesto che possono essere usate dal provider che esegue la manutenzione della richiesta. Un provider che supporta o richiede tali informazioni deve documentare i nomi di valore riconosciuti, il tipo di dati del valore, i valori consentiti e la semantica.
Valore restituito
In caso di esito positivo, questo metodo restituisce un oggetto SWbemObject che rappresenta l'oggetto richiesto.
Codici di errore
Al termine del metodo Get , l'oggetto Err può contenere uno dei codici di errore nell'elenco seguente.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
L'utente corrente non dispone dell'autorizzazione per accedere all'oggetto.
-
wbemErrFailed - 2147749889 (0x80041001)
-
Errore non specificato.
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
Un parametro specificato non è valido.
-
wbemErrInvalidObjectPath - 2147749946 (0x8004103A)
-
Percorso specificato non valido.
-
wbemErrNotFound - 2147749890 (0x80041002)
-
Impossibile trovare l'oggetto richiesto.
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
Memoria insufficiente per completare l'operazione.
Commenti
A differenza dei metodi ExecQuery e InstanceOf , il metodo Get restituisce sempre un oggetto SWbemObject che rappresenta un'istanza specifica di una risorsa gestita da WMI. Per ottenere un'istanza specifica di una risorsa gestita da WMI usando il metodo Get, è necessario indicare a Get l'istanza di recuperare passando il metodo il percorso dell'oggetto, come illustrato nello script seguente.
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objSWbemObject = objSWbemServices.Get("Win32_Service.Name='Messenger'")
Wscript.Echo "Name: " & objSWbemObject.Name & vbCrLf & _
"Display Name: " & objSWbemObject.DisplayName & vbCrLf & _
"Start Mode: " & objSWbemObject.StartMode & vbCrLf & _
"State: " & objSWbemObject.State
È possibile usare questo metodo per ottenere oggetti Singleton , ad esempio __CIMOMIdentification, che contiene informazioni sulla versione sull'installazione WMI in esecuzione.
È possibile esaminare il repository con uno strumento di visualizzazione, ad esempio CIM Studio , per verificare che venga visualizzata la nuova classe e la nuova istanza. Per un esempio di rimozione di una classe e di un'istanza dal repository, vedere SWbemServices.Delete o SWbemObject.Delete_.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Intestazione |
|
Libreria dei tipi |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |