Método SWbemServices.Get

O método Get do objeto SWbemServices recupera um objeto, que é uma definição de classe ou uma instância, com base no caminho do objeto. Esse método recupera apenas objetos do namespace associado ao objeto SWbemServices atual.

O método é chamado no modo síncrono. Para obter mais informações, consulte Chamar um método.

Para conferir uma explicação dessa sintaxe, confira Convenções de documentação para API de script.

Sintaxe

objWbemObject = .Get( _
  [ ByVal strObjectPath ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Parâmetros

strObjectPath [opcional]

Cadeia de caracteres que contém o caminho do objeto a ser recuperado. Se esse valor estiver vazio, o objeto vazio retornado poderá se tornar uma nova classe. Para obter mais informações, confira Descrever o local de um objeto do WMI.

iFlags [opcional]

Inteiro que determina o comportamento da consulta. Esse parâmetro pode aceitar os valores a seguir.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Faz com que o WMI retorne dados de aditamento da classe com a definição da classe base. Para obter mais informações sobre qualificadores alterados, confira Localizar informações de classe do WMI.

objWbemNamedValueSet [opcional]

Normalmente, isso é indefinido. Caso contrário, esse será um objeto SWbemNamedValueSet cujos elementos representam as informações de contexto que podem ser usadas pelo provedor que está atendendo à solicitação. Um provedor que dê suporte ou exija essas informações deve documentar os nomes de valor reconhecidos, o tipo de dados do valor, os valores permitidos e a semântica.

Retornar valor

Se tiver êxito, esse método retornará um objeto SWbemObject que representa o objeto solicitado.

Códigos do Erro

Após a conclusão do método Get, o objeto Err poderá conter um dos códigos de erro da lista a seguir.

wbemErrAccessDenied – 2147749891 (0x80041003)

O usuário atual não tem permissão para acessar o objeto.

wbemErrFailed – 2147749889 (0x80041001)

Erro não especificado.

wbemErrInvalidParameter – 2147749896 (0x80041008)

Um parâmetro especificado não é válido.

wbemErrInvalidObjectPath - 2147749946 (0x8004103A)

O caminho especificado não era válido.

wbemErrNotFound – 2147749890 (0x80041002)

Não foi possível encontrar um objeto solicitado.

wbemErrOutOfMemory – 2147749894 (0x80041006)

Não há memória suficiente para concluir a operação.

Comentários

Ao contrário dos métodos ExecQuery e InstancesOf, o método Get sempre retorna um SWbemObject que representa uma instância específica de um recurso gerenciado pelo WMI. Para obter uma instância específica de um recurso gerenciado pelo WMI usando o método Get, você deve informar o Get a instância a ser recuperada passando o caminho do objeto para o método, conforme mostrado no script a seguir.

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

Você pode usar esse método para obter objetos singleton, como __CIMOMIdentification, que contém informações de versão sobre a instalação do WMI em execução.

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

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_SWbemServices
IID
IID_ISWbemServices

Confira também

SWbemServices

SWbemObject