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 obter uma explicação dessa sintaxe, consulte As Convenções de Documento para a API de Scripts.

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, consulte Descrevendo o local de um objeto 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 alteração de classe com a definição de classe base. Para obter mais informações sobre qualificadores alterados, consulte Localizando informações de classe WMI.

objWbemNamedValueSet [opcional]

Normalmente, isso é indefinido. Caso contrário, esse é 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.

Valor retornado

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 pode conter um dos códigos de erro na 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 o objeto solicitado.

wbemErrOutOfMemory - 2147749894 (0x80041006)

Memória insuficiente 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 por WMI. Para obter uma instância específica de um recurso gerenciado por WMI usando o método Get, você deve dizer para obter a instância a ser recuperada passando o caminho do objeto pelo 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 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_.

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