Поделиться через


Объект SWbemObject

Методы и свойства объекта SWbemObject можно использовать для представления одного определения класса инструментария управления Windows (WMI) или экземпляра объекта. Этот объект не может быть создан вызовом CreateObject VBScript.

Этот объект поддерживает два типа свойств и методов. Те, которые определены в этом разделе, являются универсальными свойствами и методами, которые применяются ко всем объектам WMI. Кроме того, этот объект предоставляет свойства и методы базового объекта как свойства динамической автоматизации и методы SWbemObject. Имена и типы этих свойств и методов зависят от базового объекта WMI. Дополнительные сведения о том, как предоставляются эти динамические свойства и методы, см. в разделе "Управление сведениями о классе и экземпляре".

С точки зрения клиента WMI этот объект всегда находится в процессе. Операции записи влияют только на локальную копию объекта, а операции чтения всегда извлекают значения из локальной копии. Обновления в WMI выполняются только в том случае, если все объекты записываются с помощью вызова метод SWbemObject.Put_. Если изменить свойства или методы в объекте SWbemObject , изменения не записываются в WMI, пока не вызовете SWbemObject.Put_.

Универсальные имена методов и свойств, определенные в этом разделе, всегда заканчиваются конечным символом подчеркивания ("_"), чтобы отличить их от динамических методов и свойств базового объекта WMI.

Обратите внимание, что SWbemObject нельзя создать с помощью метода GetObject.method VBScript. Если вы хотите создать новый пустой класс, используйте SWbemServices.Get с пустым параметром пути. Этот вызов возвращает пустой объект SWbemObject , который может стать классом. Затем можно указать имя класса для свойства Class объекта SWbemObjectPath, возвращаемого вызовом Path_. Добавьте свойства в новый класс методом Properties_ . Чтобы создать экземпляр, вызовите GetObject в новом классе.

В следующем примере кода показано, как получить новый класс и добавить в него свойство. Объект SWbemObject, представляющий класс, должен быть записан обратно в репозиторий WMI вызовом Put_.

wbemCimtypeString = 8
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"

' Add a property
' String property
objClass.Properties_.add "PropertyName", wbemCimtypeString  
' Make the property a key property 
objClass.Properties_("PropertyName").Qualifiers_.add "key", true

' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
WScript.Echo objClassPath.Path

'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
    "Winmgmts:root\default:NewClass").Spawninstance_

objNewInst.PropertyName = "My Instance"

' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
WScript.Echo objInstancePath.Path

Вы можете проверить репозиторий с помощью средства просмотра, например CIM Studio , чтобы убедиться, что появится новый класс и экземпляр. Пример удаления класса и экземпляра из репозитория см. в статье SWbemServices.Delete или SWbemObject.Delete_.

Участники

Объект SWbemObject имеет следующие типы элементов:

Методы

Объект SWbemObject имеет эти методы.

Метод Description
Associators_ Извлекает ассоциаторы объекта.
AssociatorsAsync_ Асинхронно извлекает ассоциаторы объекта.
Клон_ Создает копию текущего объекта.
Compareto_ Сравнивает два объекта , чтобы определить, равны ли они.
Удалить_ Удаляет объект из WMI.
DeleteAsync_ Асинхронно удаляет объект из WMI.
ExecMethod_ Выполняет метод, экспортируемый поставщиком методов.
ExecMethodAsync_ Асинхронно выполняет метод, экспортируемый поставщиком методов.
GetObjectText_ Извлекает текстовое представление объекта (синтаксис MOF).
Экземпляров_ Возвращает коллекцию экземпляров объекта (который должен быть классом WMI).
InstancesAsync_ Асинхронно возвращает коллекцию экземпляров объекта (который должен быть классом WMI).
Положить_ Создает или обновляет объект в WMI.
PutAsync_ Асинхронно создает или обновляет объект в WMI.
Ссылки_ Возвращает ссылки на объект.
ReferencesAsync_ Асинхронно возвращает ссылки на объект.
SpawnDerivedClass_ Создает новый производный класс из текущего объекта (который должен быть классом WMI).
SpawnInstance_ Создает новый экземпляр из текущего объекта.
Подклассы_ Возвращает коллекцию подклассов объекта (который должен быть классом WMI).
SubclassesAsync_ Асинхронно возвращает коллекцию подклассов объекта (который должен быть классом WMI).

Свойства

Объект SWbemObject имеет эти свойства.

Свойство Тип доступа Description
Вывод_
Только для чтения
Содержит массив строк, описывающих иерархию производных для класса.
Методы_
Только для чтения
Объект SWbemMethodSet , представляющий собой коллекцию методов для этого объекта.
Путь_
Только для чтения
Содержит объект SWbemObjectPath , представляющий путь к объекту текущего класса или экземпляра.
Вариантов размещения_
Только для чтения
Объект SWbemPropertySet , представляющий собой коллекцию свойств для этого объекта.
Квалификаторы_
Только для чтения
Объект SWbemQualifierSet , представляющий собой коллекцию квалификаторов для этого объекта.
Безопасность_
Только для чтения
Содержит объект SWbemSecurity, используемый для чтения или изменения параметров безопасности.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Заголовок
Wbemdisp.h
Библиотека типов
Wbemdisp.tlb
DLL-библиотеки
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

См. также

SWbemObjectEx

Объекты API скриптов