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