Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O WMI fornece uma variedade de técnicas para recuperar e manipular informações de classe e instância WMI, usando o Microsoft PowerShell, Visual Basic Scripting Edition (VBScript) e C++.
A tabela a seguir lista os tópicos que discutem as técnicas para recuperar e manipular informações de classe e instância WMI.
| Tópico | Descrição |
|---|---|
| Recuperando dados de classe ou instância WMI | Recupere e defina dados de e para o repositório de informações WMI. |
| Modificando uma propriedade de instância | Altere as informações na instância depois que elas forem recuperadas. |
| Alterando a herança de uma instância | Altere a classe pai de uma instância. |
| Modificando um método | Modifique os parâmetros de uma instância. |
| Enumerar o WMI | Enumerar objetos WMI. |
| Consultando WMI | Consultar objetos WMI. |
| Chamando um método | Use métodos associados criados pela Microsoft ou outros desenvolvedores de terceiros para manipular ainda mais objetos WMI ou afetar diretamente o objeto que o objeto WMI representa. |
| Aceder a uma Coleção | Enumerar coleções em script. |
Manipulando dados usando VBScript
Você pode usar o acesso direto para acessar as propriedades WMI de uma classe ou instância WMI diretamente em um SWbemObject, em vez de através da propriedade coleção desse objeto. Você também pode executar métodos nesse objeto no estilo nativo da linguagem de programação em vez de usar a chamadaSWbemServices.ExecMethod. Por exemplo, o método Create no Win32_Process tinha três parâmetros no Windows 2000, mas tem quatro parâmetros no Windows Server 2003.
Usando o acesso direto, você pode tratar propriedades e métodos WMI como se fossem propriedades e métodos de automação de SWbemObject.
O exemplo a seguir mostra como você pode acessar uma propriedade.
VolumeName = MyDisk.Properties_("VolumeName")
O exemplo a seguir mostra como você pode acessar uma propriedade quando tem acesso direto.
VolumeName = MyDisk.VolumeName
O encadeamento de objetos também é aceitável.
O exemplo a seguir mostra como acessar uma propriedade de um objeto que está incorporado em outro objeto.
value = MyComputer.MyDisk.VolumeName
O exemplo a seguir mostra como acessar uma propriedade com notação subscrita de matriz.
valueOfElement = MyDisk.MyArrayProperty(3)
O exemplo de código VBScript a seguir mostra como gerar uma instância dos parâmetros de entrada para o método Create na classe Win32_Process como um SWbemObject, preencher as propriedades de entrada e, em seguida, executar o Create método usando SWbemServices.ExecMethod.
A propriedade SWbemObject.Methods_ retorna uma SWbemMethodSet coleção dos métodos Win32_Process. Os membros do conjunto de métodos são SWbemMethod objetos e SWbemMethod.InParameters retorna os parâmetros de entrada para o Create método. O parâmetro de entrada CommandLine necessário é definido como "calc.exe". O método é então executado por SWbemServices.ExecMethod, resultando no lançamento de um processo de calc.exe.
set Services = GetObject("winmgmts:root\cimv2")
Set obj = Services.Get("Win32_Process")
Set objIns = obj.Methods_("Create").InParameters.SpawnInstance_
objIns.CommandLine = "calc.exe"
Set objOut = Services.ExecMethod("Win32_Process", "Create", objIns)
MsgBox "Return value = " & objOut.returnvalue & VBCRLF & "Process ID = " & objOut.processid
O exemplo de código a seguir mostra como executar a operação anterior usando acesso direto.
set Services = GetObject("winmgmts:root\cimv2")
Set Obj = Services.Get("Win32_Process")
returnvalue = Obj.create("calc.exe",,,processid)
MsgBox "Return value = " & returnvalue & VBCRLF & "Process ID = " & processid
Para obter mais informações, consulte Chamar um Método de Provedor e Scriptar com SWbemObject.