Método Session.Invoke
Invoca un método y devuelve los resultados de la llamada al método.
Sintaxis
Session.Invoke( _
ByVal actionUri, _
ByVal resourceUri, _
ByVal parameters, _
[ ByVal flags ] _
)
Parámetros
-
actionUri [in]
-
URI del método que se va a invocar.
-
resourceUri [in]
-
Identificador del recurso que se va a recuperar.
Este parámetro puede contener uno de los siguientes elementos:
URI con o sin selectores. En el siguiente ejemplo de Visual Basic Scripting Edition (VBScript), la clave se especifica mediante
Win32_Service?Name=winmgmt
.strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/" _ & "Win32_Service?Name=winmgmt"
Objeto ResourceLocator que puede contener selectores, fragmentos o opciones.
Referencia del punto de conexión WS-Addressing como se describe en el estándar WS-Management Protocol. Para obtener más información sobre la especificación pública para WS-Management protocolo, vea Página de índice de especificaciones de administración.
-
parámetros [in]
-
Representación XML de la entrada para el método . Esta cadena debe proporcionarse o se producirá un error en este método.
-
flags [in, optional]
-
Reservado. Se debe establecer en 0.
Valor devuelto
Representación XML de la salida del método.
Ejemplos
En el ejemplo de código de VBScript siguiente se inicia un proceso de Calc.exe. El parámetro strInputParameters contiene los parámetros de entrada en formato XML. El único parámetro de entrada necesario para el método Create de la clase Win32_Process WMI es la línea de comandos que se va a ejecutar.
Set objWsman = CreateObject( "WSMan.Automation" )
If objWsman is Nothing Then
WScript.Echo "Failed to create WSMAN Automation object"
WScript.Quit
End If
Set objSession = objWsman.CreateSession
If objSession is Nothing Then
WScript.Echo "Failed to create WSMAN Session object"
WScript.Quit
End If
strResource = "http://schemas.microsoft.com/wbem/wsman/1/" & _
"wmi/root/cimv2/Win32_Process"
strInputParameters = "<p:Create_INPUT " & _
"xmlns:p=""http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process"">" & _
"<p:CommandLine>" & "calc.exe" & _
"</p:CommandLine>" & _
"</p:Create_INPUT>"
strOutputParameters = objSession.Invoke( "Create", _
strResource, strInputParameters )
DisplayOutput( strOutputParameters )
'****************************************************
' Displays WinRM XML message using built-in XSL
'****************************************************
Sub DisplayOutput( strWinRMXml )
Dim xmlFile, xslFile
Set xmlFile = CreateObject( "MSXml2.DOMDocument.3.0" )
Set xslFile = CreateObject( "MSXml2.DOMDocument.3.0" )
xmlFile.LoadXml( strWinRMXml )
xslFile.Load( "WsmTxt.xsl" )
Wscript.Echo xmlFile.TransformNode( xslFile )
End Sub
El siguiente ejemplo de código de VBScript llama al método Session.Invoke para ejecutar el método StopService de Win32_Service. El método StopService no tiene parámetros de entrada. Sin embargo, el método Invoke requiere una cadena XML en el parámetro parameters .
Option Explicit
Dim objWsman
Dim objSession
Dim strResponse
Dim strActionURI
Dim strInputXml
Dim strResourceURI
Dim strMethodName
set objWsman = CreateObject("Wsman.Automation")
set objSession = objWsman.CreateSession
strResourceURI = "http://schemas.microsoft.com/wbem/wsman/1/"_
& "wmi/root/cimv2/Win32_Service?Name=w32time"
strMethodName = "StopService"
strActionURI = strMethodName
strInputXml = "<p:StopService_INPUT " _
& "xmlns:p=""http://schemas.microsoft.com/wbem/wsman/1/"_
& "wmi/root/cimv2/Win32_Service""/>"
strResponse = objSession.Invoke(strMethodName, strResourceURI, strInputXml)
call DisplayOutput(strResponse)
strMethodName = "StartService"
strActionURI = strResourceURI & "/" & strMethodName
strInputXml = "<p:StartService_INPUT " _
& "xmlns:p=""http://schemas.microsoft.com/wbem/wsman/1/"_
& "wmi/root/cimv2/Win32_Service""/>"
strResponse = objSession.Invoke(strMethodName, _
strResourceURI, strInputXml)
call DisplayOutput(strResponse)
'****************************************************
' Displays WinRM XML message using built-in XSL
'****************************************************
Sub DisplayOutput( strWinRMXml )
Dim xmlFile, xslFile
Set xmlFile = CreateObject( "MSXml2.DOMDocument.3.0" )
Set xslFile = CreateObject( "MSXml2.DOMDocument.3.0" )
xmlFile.LoadXml( strWinRMXml )
xslFile.Load( "WsmTxt.xsl" )
Wscript.Echo xmlFile.TransformNode( xslFile )
End Sub
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Encabezado |
|
IDL |
|
Biblioteca |
|
Archivo DLL |
|