Obtention de données à partir de l’ordinateur local

bien que Windows Remote Management et WS-Management protocole soient explicitement conçus pour la communication à distance, l’établissement d’une session sur l’ordinateur local est le cas le plus simple. Certains scripts peuvent nécessiter des données d’accès sur l’ordinateur local, ainsi que sur des ordinateurs distants.

    • WinRM version 2,0 : * *

Toutes les opérations sont considérées comme distantes et le service WinRM doit être démarré avant l’exécution d’une opération. Si une destination distante n’est pas spécifiée, l’hôte local est utilisé par défaut, et toutes les opérations sont envoyées au service WinRM local. pour plus d’informations sur le démarrage du service WinRM, consultez Installation et Configuration de Windows Remote Management.

Lors de l’utilisation du service WinRM pour les opérations locales, les facteurs suivants doivent être pris en compte :

  • La configuration WinRM locale ne peut être lue que par les administrateurs.
  • Les autorisations Remote Enable doivent être définies pour les espaces de noms WMI. Pour plus d’informations, consultez sécurisation d’une connexion WMI à distance.
  • Si aucun écouteur WinRM n’est créé, le service WinRM écoute les demandes locales sur le port 47001.

Chaque script WinRM doit commencer par l’établissement d’une session ou d’une connexion à un ordinateur en créant un objet de session . Une fois la session créée, vous pouvez utiliser les méthodes d’objet de session , telles que session. Enumerate ou session. Invoke pour obtenir des données ou exécuter des méthodes.

la création d’une session est quelque peu similaire à la connexion à un espace de noms Windows Management Instrumentation (WMI). La session est essentiellement une couche qui vous permet d’envoyer et de recevoir des données par le biais de messages SOAP et du protocole WS-Management. Pour plus d’informations, consultez protocole WS-Management.

L’appel de la méthode WSMan. CreateSession pour créer un objet de session démarre une session qui se connecte au WinRM local.

Pour créer une session WSMan et obtenir des données

  1. Créez un objet WSMan .

    Set objWsman = CreateObject("Wsman.Automation")
    
  2. Créez une session en appelant la méthode WSMan. CreateSession . Cette session s’exécute sous votre nom d’utilisateur et votre mot de passe d’ouverture de session et peut obtenir des données via le WinRM local.

    Set objSession = objWsman.CreateSession()
    
  3. Créez un URI de ressource pour identifier la ressource que vous souhaitez gérer ou pour laquelle vous souhaitez obtenir des données. Pour plus d’informations sur la mise en forme d’un URI, consultez URI de ressource. Cet URI de ressource est destiné à une instance spécifique de la classe de _ service WMI Win32 , le service WinMgmt. pour plus d’informations, consultez Windows Remote Management et WMI.

    strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
    
  4. Appeler des méthodes de session qui obtiennent ou énumèrent des données à l’aide de l’URI de ressource. Pour plus d’informations, consultez API de script WinRM.

    strResponse = objSession.Get(strResource)
    Wscript.Echo strResponse
    
  5. Pour obtenir ou gérer des données à partir d’un autre ordinateur ou utiliser différentes méthodes d’authentification, consultez obtention de données à partir d’un ordinateur distant.

L’exemple de code VBScript suivant montre le script complet qui obtient l’instance spécifique du service WMI Win32 _ nommé « winmgmt ».

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Wscript.Echo strResponse

L’exemple de code VBScript suivant montre le script complet avec la transformation de données. Pour plus d’informations, consultez affichage de la sortie XML des scripts WinRM.

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Set xmlFile = CreateObject("MSXml.DOMDocument")
Set xslFile = CreateObject("MSXml.DOMDocument")
xmlFile.LoadXml(strResponse)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)

à propos de Windows Remote Management

utilisation de Windows Remote Management

Windows Informations de référence sur la gestion à distance