Метод SWbemServices.Get
Метод Get объекта SWbemServices извлекает объект , который является определением класса или экземпляром, на основе пути к объекту. Этот метод извлекает только объекты из пространства имен, связанного с текущим объектом SWbemServices .
Метод вызывается в синхронном режиме. Дополнительные сведения см. в разделе Вызов метода .
Описание этого синтаксиса см. в разделе Соглашения о документах для API сценариев.
Синтаксис
objWbemObject = .Get( _
[ ByVal strObjectPath ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
Параметры
-
strObjectPath [необязательно]
-
Строка, содержащая путь к объекту извлекаемого объекта. Если это значение пусто, возвращаемый пустой объект может стать новым классом. Дополнительные сведения см. в разделе Описание расположения объекта WMI.
-
iFlags [необязательно]
-
Целое число, определяющее поведение запроса. Этот параметр может принимать следующие значения.
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
Заставляет WMI возвращать данные о поправках класса с определением базового класса. Дополнительные сведения о измененных квалификаторах см. в разделе Локализация сведений о классе WMI.
objWbemNamedValueSet [необязательно]
Как правило, это не определено. В противном случае это объект SWbemNamedValueSet , элементы которого представляют сведения контекста, которые могут использоваться поставщиком, обслуживающим запрос. Поставщик, поддерживающий или требующий таких сведений, должен документировать имена распознаваемых значений, тип данных значения, допустимые значения и семантику.
Возвращаемое значение
В случае успешного выполнения этот метод возвращает объект SWbemObject , представляющий запрошенный объект.
Коды ошибок
После завершения метода Get объект Err может содержать один из кодов ошибок в следующем списке.
-
wbemErrAccessDenied — 2147749891 (0x80041003)
-
Текущий пользователь не имеет разрешения на доступ к объекту .
-
wbemErrFailed — 2147749889 (0x80041001)
-
Незаданная ошибка.
-
wbemErrInvalidParameter — 2147749896 (0x80041008)
-
Указанный параметр недопустим.
-
wbemErrInvalidObjectPath — 2147749946 (0x8004103A)
-
Указанный путь недопустим.
-
wbemErrNotFound — 2147749890 (0x80041002)
-
Не удалось найти запрошенный объект.
-
wbemErrOutOfMemory — 2147749894 (0x80041006)
-
Недостаточно памяти для завершения операции.
Комментарии
В отличие от методов ExecQuery и InstancesOf , метод Get всегда возвращает объект SWbemObject , представляющий конкретный экземпляр ресурса, управляемого WMI. Чтобы получить конкретный экземпляр ресурса, управляемого WMI, с помощью метода Get необходимо указать получение экземпляра, передав методу путь к объекту, как показано в следующем скрипте.
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
Этот метод можно использовать для получения одноэлементных объектов, таких как __CIMOMIdentification, которые содержат сведения о версии запущенной установки WMI.
Вы можете проверить репозиторий с помощью средства просмотра, например CIM Studio , чтобы убедиться, что новый класс и экземпляр отображаются. Пример удаления класса и экземпляра из репозитория см. в разделе SWbemServices.Delete или SWbemObject.Delete_.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |