Méthode Session.Invoke
Invoque une méthode et retourne les résultats de l'appel de la méthode.
Syntaxe
Session.Invoke( _
ByVal actionUri, _
ByVal resourceUri, _
ByVal parameters, _
[ ByVal flags ] _
)
Paramètres
-
actionUri [in]
-
URI de la méthode à appeler.
-
resourceUri [in]
-
Identificateur de la ressource à récupérer.
Ce paramètre peut contenir l’un des éléments suivants :
URI avec ou sans sélecteurs. Dans l’exemple suivant de Visual Basic Scripting Edition (VBScript), la clé est spécifiée par
Win32_Service?Name=winmgmt
.strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/" _ & "Win32_Service?Name=winmgmt"
Objet ResourceLocator qui peut contenir des sélecteurs, des fragments ou desoptions.
Référence du point de terminaison D’adressage WS , comme décrit dans la norme WS-Management Protocol . Pour plus d’informations sur la spécification publique du protocole WS-Management, consultez Page d’index des spécifications de gestion.
-
paramètres [in]
-
Représentation XML de l’entrée pour la méthode. Cette chaîne doit être fournie, sinon cette méthode échoue.
-
indicateurs [in, facultatif]
-
Réservé. Doit avoir la valeur 0.
Valeur retournée
Représentation XML de la sortie de la méthode.
Exemples
L’exemple de code VBScript suivant démarre un processus Calc.exe. Le paramètre strInputParameters contient les paramètres d’entrée au format XML. Le seul paramètre d’entrée requis pour la méthode Create de la classe Win32_Process WMI est la ligne de commande à exécuter.
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
L’exemple de code VBScript suivant appelle la méthode Session.Invoke pour exécuter la méthode StopService de Win32_Service. La méthode StopService n’a pas de paramètres d’entrée. Toutefois, la méthode Invoke nécessite une chaîne XML dans le paramètre 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
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
En-tête |
|
IDL |
|
Bibliothèque |
|
DLL |
|