Session.Invoke method
Invokes a method and returns the results of the method call.
Syntax
Session.Invoke( _
ByVal actionUri, _
ByVal resourceUri, _
ByVal parameters, _
[ ByVal flags ] _
)
Parameters
-
actionUri [in]
-
The URI of the method to invoke.
-
resourceUri [in]
-
The identifier of the resource to retrieve.
This parameter can contain one of the following:
URI with or without selectors. In the following Visual Basic Scripting Edition (VBScript) example, the key is specified by
Win32_Service?Name=winmgmt
.strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/" _ & "Win32_Service?Name=winmgmt"
ResourceLocator object which may contain selectors, fragments, or options.
WS-Addressing endpoint reference as described in the WS-Management Protocol standard. For more information about the public specification for WS-Management protocol, see Management Specifications Index Page.
-
parameters [in]
-
The XML representation of the input for the method. This string must be supplied or this method will fail.
-
flags [in, optional]
-
Reserved. Must be set to 0.
Return value
The XML representation of the method output.
Examples
The following VBScript code example starts a Calc.exe process. The strInputParameters parameter contains the input parameters in XML format. The only required input parameter for the Create method of the WMI Win32_Process class is the command line to execute.
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
The following VBScript code example calls the Session.Invoke method to execute the StopService method of Win32_Service. The StopService method does not have input parameters. However, the Invoke method requires an XML string in the parameters parameter.
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
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Header |
|
IDL |
|
Library |
|
DLL |
|