Construir objetos InParameters

Um objeto InParameters contém a lista de parâmetros para chamar métodos de provedor ao usar um tipo ExecMethod de chamada. Os métodos SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethod e SWbemServices.ExecMethodAsync exigem um objeto InParameters.

O procedimento a seguir descreve como construir um objeto InParameters.

Para construir o parâmetro objwbemInParams

  1. Conecte-se ao WMI.

  2. Obtenha a definição da classe do WMI que define o método que você deseja executar.

  3. Obtenha um objeto InParameters específico para o método de classe do WMI que você deseja executar.

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. Defina as propriedades da instância com os valores que você achar apropriados. Forneça valores para as propriedades de chave na classe do WMI que contém o método que você deseja executar.

    Por exemplo, se você quiser definir um parâmetro de entrada chamado myinputparam com o valor "abc" em uma instância de InParameters chamada "INST", o código será ficará com a aparência a seguir.

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. Execute o método e obtenha o status de retorno do método que você está executando.

O exemplo de código a seguir ilustra a configuração do objeto InParameters para criar um novo objeto do WMI que representa um compartilhamento. Para obter mais informações sobre o objeto OutParameters, consulte Analisar objetos OutParameters. Este exemplo produzirá um valor retornado bem-sucedido (0) se houver uma pasta chamada "Share" no local "C:/Share". Este exemplo permite que essa pasta seja compartilhada com outros usuários.

' Connect to WMI.
Set objServices = GetObject("winmgmts:root\cimv2")

' Obtain the definition of the WMI class that defines
' the method you want to execute.
Set objShare = objServices.Get("Win32_Share")

' Obtain an InParameters object specific
' to the WMI class method you want to execute.
Set objInParam = objShare.Methods_("Create"). _
    inParameters.SpawnInstance_()

' Set the properties of the instance to whatever
' values are appropriate.
objInParam.Properties_.Item("Access") = objSecDescriptor
objInParam.Properties_.Item("Description") = _
    "New share created by WMI script"
objInParam.Properties_.Item("Name") = "share"
objInParam.Properties_.Item("Path") = "C:\share"
objInParam.Properties_.Item("Type") = 0
'optional - default is 'max allowed'
objInParam.Properties_.Item("MaximumAllowed") = 100
'optional - default is no password
objInParam.Properties_.Item("Password") = "Password"

' Execute the method and obtain the return status. 
' The OutParameters object in objOutParams
' is created by the provider. 
Set objOutParams = objShare.ExecMethod_("Create", objInParam)    
wscript.echo objOutParams.ReturnValue