Objeto SWbemObject

Você pode usar os métodos e as propriedades do objeto SWbemObject para representar uma instância de objeto ou definição de classe de WMI (instrumentação de gerenciamento de Windows). Esse objeto não pode ser criado pela chamada CreateObject do VBScript.

Esse objeto dá suporte a dois tipos de propriedades e métodos. Aqueles definidos nesta seção são propriedades genéricas e métodos que se aplicam a todos os objetos WMI. Além disso, esse objeto expõe as propriedades e os métodos do objeto subjacente como propriedades de automação dinâmica e métodos de SWbemObject. Os nomes e tipos dessas propriedades e métodos dependem do objeto WMI subjacente. Para obter mais informações sobre como essas propriedades dinâmicas e métodos são expostos, consulte Manipulando informações de classe e instância.

Do ponto de vista do cliente WMI, esse objeto está sempre em processo. As operações de gravação afetam apenas a cópia local do objeto e as operações de leitura sempre recuperam valores da cópia local. As atualizações no WMI são executadas somente quando objetos inteiros são gravados usando uma chamada para o método SWbemObject.Put_ . Se você modificar as propriedades ou métodos em um objeto SWbemObject , suas alterações não serão gravadas no WMI até que você chame SWbemObject.Put_.

O método genérico e os nomes de propriedade definidos nesta seção sempre terminam com um sublinhado à direita ("_") para diferenciá-los dos métodos E propriedades dinâmicos do objeto subjacente.

Observe que SWbemObject não pode ser criado usando o método GetObject.VBScript. Se você quiser criar uma nova classe vazia, use SWbemServices.Get com um parâmetro de caminho vazio. Essa chamada retorna um objeto SWbemObject vazio que pode se tornar uma classe. Em seguida, você pode fornecer um nome de classe para a propriedade Class do objeto SWbemObjectPath retornado pela chamada Path_ . Adicione propriedades à nova classe pelo método Properties_ . Para criar uma instância, chame GetObject na nova classe.

O exemplo de código a seguir mostra como obter uma nova classe e adicionar uma propriedade a ela. O objeto SWbemObject que representa a classe deve ser gravado de volta no repositório WMI por uma chamada para 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

Você pode examinar o repositório com uma ferramenta de exibição, como o CIM Studio , para verificar se a nova classe e a instância aparecem. Para obter um exemplo de remoção de uma classe e uma instância do repositório, consulte SWbemServices.Delete ou SWbemObject.Delete_.

Membros

O objeto SWbemObject tem esses tipos de membros:

Métodos

O objeto SWbemObject tem esses métodos.

Método Descrição
Associators_ Recupera os associadores do objeto.
AssociatorsAsync_ Recupera assíncronamente os associadores do objeto.
Clone_ Faz uma cópia do objeto atual.
CompareTo_ Testa dois objetos para igualdade.
Delete_ Exclui o objeto do WMI.
DeleteAsync_ Exclui de forma assíncrona o objeto do WMI.
ExecMethod_ Executa um método exportado por um provedor de métodos.
ExecMethodAsync_ Executa de forma assíncrona um método exportado por um provedor de métodos.
GetObjectText_ Recupera a representação textual do objeto (sintaxe MOF).
Instances_ Retorna uma coleção de instâncias do objeto (que deve ser uma classe WMI).
InstancesAsync_ Retorna de forma assíncrona uma coleção de instâncias do objeto (que deve ser uma classe WMI).
Put_ Cria ou atualiza o objeto no WMI.
PutAsync_ Cria ou atualiza o objeto de forma assíncrona no WMI.
References_ Retorna referências ao objeto.
ReferencesAsync_ Retorna assíncronamente referências ao objeto.
SpawnDerivedClass_ Cria uma nova classe derivada do objeto atual (que deve ser uma classe WMI).
SpawnInstance_ Cria uma nova instância do objeto atual.
Subclasses_ Retorna uma coleção de subclasses do objeto (que deve ser uma classe WMI).
SubclassesAsync_ Retorna de forma assíncrona uma coleção de subclasses do objeto (que deve ser uma classe WMI).

Propriedades

O objeto SWbemObject tem essas propriedades.

Propriedade Tipo de acesso Descrição
Derivation_
Somente leitura
Contém uma matriz de cadeias de caracteres que descreve a hierarquia de derivação da classe.
Methods_
Somente leitura
Um objeto SWbemMethodSet que é a coleção de métodos para esse objeto.
Path_
Somente leitura
Contém um objeto SWbemObjectPath que representa o caminho do objeto da classe ou instância atual.
Properties_
Somente leitura
Um objeto SWbemPropertySet que é a coleção de propriedades desse objeto.
Qualifiers_
Somente leitura
Um objeto SWbemQualifierSet que é a coleção de qualificadores para este objeto.
Security_
Somente leitura
Contém um objeto SWbemSecurity usado para ler ou alterar as configurações de segurança.

Exemplos

O exemplo de código List All the Properties and Methods for a WMI Class VBScript na Galeria technet usa o SWbemObject para listar todos os métodos e propriedades de uma classe WMI especificada.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

Confira também

SWbemObjectEx

Objetos de API de script