Método SWbemServices.Get
El método Get del objeto SWbemServices recupera un objeto, que es una definición de clase o una instancia, en función de la ruta de acceso del objeto. Este método recupera solo objetos del espacio de nombres asociado al objeto SWbemServices actual.
Se llama al método en el modo sincrónico. Para obtener más información, consulte Llamada a un método.
Para obtener una explicación de esta sintaxis, vea Convenciones de documentación para la API de scripting.
Sintaxis
objWbemObject = .Get( _
[ ByVal strObjectPath ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
Parámetros
-
strObjectPath [opcional]
-
Cadena que contiene la ruta de acceso del objeto que se va a recuperar. Si este valor está vacío, el objeto vacío que se devuelve puede convertirse en una nueva clase. Para más información, consulte Descripción de la ubicación de un objeto WMI.
-
iFlags [opcional]
-
Entero que determina el comportamiento de la consulta. Este parámetro puede aceptar los siguientes valores.
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
Hace que WMI devuelva datos de modificación de clase con la definición de clase base. Para obtener más información sobre los calificadores modificados, consulte Localizar información de clase WMI.
objWbemNamedValueSet [opcional]
Normalmente, esto no está definido. De lo contrario, se trata de un objeto SWbemNamedValueSet cuyos elementos representan la información de contexto que puede usar el proveedor que atiende la solicitud. Un proveedor que admita o necesite esa información debe documentar los nombres de valor reconocidos, el tipo de datos del valor, los valores permitidos y la semántica.
Valor devuelto
Si se ejecuta correctamente, este método devuelve un objeto SWbemObject que representa el objeto solicitado.
Códigos de error
Después de completar el método Get, el objeto Err puede contener uno de los códigos de error de la lista siguiente.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
El usuario actual no tiene permiso para acceder al objeto.
-
wbemErrFailed: 2147749889 (0x80041001)
-
Error no especificado.
-
wbemErrInvalidParameter: 2147749896 (0x80041008)
-
Un parámetro especificado no es válido.
-
wbemErrInvalidObjectPath: 2147749946 (0x8004103A)
-
La ruta de acceso especificada no es válida.
-
wbemErrNotFound: 2147749890 (0x80041002)
-
No se encontró el objeto solicitado.
-
wbemErrOutOfMemory: 2147749894 (0x80041006)
-
No hay suficiente memoria para completar la operación.
Comentarios
A diferencia de los métodos ExecQuery e InstancesOf, el método Get siempre devuelve un SWbemObject que representa una instancia específica de un recurso administrado por WMI. Para obtener una instancia específica de un recurso administrado por WMI mediante el método Get, debe indicar a Get que la instancia recupere pasando el método a la ruta de acceso del objeto, como se muestra en el siguiente script.
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
Puede usar este método para obtener objetos singleton, como __CIMOMIdentification, que contiene información de versión sobre la instalación de WMI que se está ejecutando.
Puede examinar el repositorio con una herramienta de visualización, como CIM Studio, para comprobar que aparece la nueva clase e instancia. Para obtener un ejemplo de cómo quitar una clase y una instancia del repositorio, consulte SWbemServices.Delete o SWbemObject.Delete_.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Encabezado |
|
Biblioteca de tipos |
|
Archivo DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |