Construcción de objetos InParameters
Un objeto InParameters contiene la lista de parámetros para llamar a métodos de proveedor cuando se usa un tipo de llamada ExecMethod. Los métodos SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethod y SWbemServices.ExecMethodAsync necesitan un objeto InParameters.
En el procedimiento siguiente se describe cómo construir un objeto InParameters.
Para construir el parámetro objwbemInParams
Conéctese a WMI.
Obtenga la definición de la clase WMI que define el método que quiere ejecutar.
Obtenga un objeto InParameters específico del método de clase WMI que quiera ejecutar.
Set objInParam = objShare.Methods_("Create"). _ inParameters.SpawnInstance_()
Establezca las propiedades de la instancia en los valores adecuados. Asegúrese de proporcionar valores a las propiedades clave de la clase WMI que contiene el método que quiere ejecutar.
Por ejemplo, si quiere establecer un parámetro de entrada denominado myinputparam en el valor "abc" en una instancia de InParameters denominada "INST", el código tendría este aspecto.
INST.Properties_.Add ("myinputparam").Value = "abc".
Ejecute el método y obtenga el estado devuelto del método que ejecute.
En el ejemplo de código siguiente se muestra cómo configurar el objeto InParameters para crear un objeto WMI que represente un recurso compartido. Para más información sobre el objeto OutParameters, vea Análisis de objetos OutParameters. En este ejemplo se devuelve un valor correcto (0) si hay una carpeta denominada "Share" en la ubicación "C:/Share". Este ejemplo permite que esta carpeta se comparta con otros usuarios.
' 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