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 |
|
| Biblioteca de tipos |
|
| DLL |
|
| CLSID |
CLSID_SWbemServices |
| IID |
IID_ISWbemServices |