Session.Invoke-Methode
Ruft eine Methode auf und gibt die Ergebnisse des Methodenaufrufs zurück.
Syntax
Session.Invoke( _
ByVal actionUri, _
ByVal resourceUri, _
ByVal parameters, _
[ ByVal flags ] _
)
Parameter
-
actionUri [in]
-
Der URI der aufzurufenden Methode.
-
resourceUri [in]
-
Der Bezeichner der abzurufenden Ressource.
Dieser Parameter kann eine der folgenden Elemente enthalten:
URI mit oder ohne Selektoren. Im folgenden Visual Basic Scripting Edition (VBScript)-Beispiel wird der Schlüssel durch
Win32_Service?Name=winmgmt
angegeben.strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/" _ & "Win32_Service?Name=winmgmt"
ResourceLocator-Objekt , das Selektoren, Fragmente oder Optionen enthalten kann.
WS-Adressierungsendpunktreferenz , wie im WS-Management Protocol-Standard beschrieben. Weitere Informationen zur öffentlichen Spezifikation für WS-Management-Protokoll finden Sie auf der Indexseite für Verwaltungsspezifikationen.
-
Parameter [in]
-
Die XML-Darstellung der Eingabe für die -Methode. Diese Zeichenfolge muss angegeben werden, andernfalls schlägt diese Methode fehl.
-
Flags [in, optional]
-
Reserviert. Muss auf 0 festgelegt werden.
Rückgabewert
Die XML-Darstellung der Methodenausgabe.
Beispiele
Im folgenden VBScript-Codebeispiel wird ein Calc.exe-Prozess gestartet. Der strInputParameters-Parameter enthält die Eingabeparameter im XML-Format. Der einzige erforderliche Eingabeparameter für die Create-Methode der WMI-Win32_Process-Klasse ist die auszuführende Befehlszeile.
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
Im folgenden VBScript-Codebeispiel wird die Session.Invoke-Methode aufgerufen, um die StopService-Methode von Win32_Service auszuführen. Die StopService-Methode verfügt über keine Eingabeparameter. Die Invoke-Methode erfordert jedoch eine XML-Zeichenfolge im Parameter 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
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Header |
|
IDL |
|
Bibliothek |
|
DLL |
|