Partager via


Invoke-WSManAction

Appelle une action sur l’objet spécifié par l’URI de ressource et par les sélecteurs.

Syntaxe

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

Description

Cette applet de commande est disponible uniquement sur la plateforme Windows.

Le Invoke-WSManAction exécute une action sur l’objet spécifié par RESOURCE_URI, où les paramètres sont spécifiés par des paires clé-valeur.

Cette applet de commande utilise la couche de connexion/de transport WSMan pour exécuter l’action.

Exemples

Exemple 1 : Appeler une méthode

Invoke-WSManAction -Action StartService -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Cette commande appelle la méthode StartService de l’instance de classe WMI Win32_Service qui correspond au service Spooler.

La valeur de retour indique si l’action a réussi. Dans ce cas, une valeur de retour de 0 indique la réussite. Une valeur de retour de 5 indique que le service est déjà démarré.

Exemple 2 : Appeler une méthode

Invoke-WSManAction -Action StopService -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Cette commande appelle la méthode StopService sur le service Spooler à l’aide d’une entrée à partir d’un fichier. Le fichier, Input.xml, contient le contenu suivant :

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Exemple 3 : Appeler une méthode avec des valeurs de paramètre spécifiées

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{CommandLine="notepad.exe";CurrentDirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

Cette commande appelle la méthode Create de la classe Win32_Process. Il transmet la méthode deux valeurs de paramètre, Notepad.exe et C:\. Par conséquent, un nouveau processus est créé pour exécuter le Bloc-notes et le répertoire actuel du nouveau processus est défini sur C:\.

Exemple 4 : Appeler une méthode sur un ordinateur distant

Invoke-WSManAction -Action StartService -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Cette commande appelle la méthode StartService de l’instance de classe WMI Win32_Service qui correspond au service Spooler. Étant donné que le paramètre ComputerName est spécifié, la commande s’exécute sur l’ordinateur serveur distant01.

La valeur de retour indique si l’action a réussi. Dans ce cas, une valeur de retour de 0 indique la réussite. Une valeur de retour de 5 indique que le service est déjà démarré.

Paramètres

-Action

Spécifie la méthode à exécuter sur l’objet de gestion spécifié par resourceURI et les sélecteurs.

Type:String
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ApplicationName

Spécifie le nom de l’application dans la connexion. La valeur par défaut du paramètre ApplicationName est WSMAN. L’identificateur complet du point de terminaison distant est au format suivant :

<Transport>://<Server>:<Port>/<ApplicationName>

Par exemple:

http://server01:8080/WSMAN

Internet Information Services (IIS), qui héberge la session, transfère les requêtes avec ce point de terminaison à l’application spécifiée. Ce paramètre par défaut de « WSMAN » est approprié pour la plupart des utilisations. Ce paramètre est conçu pour être utilisé lorsque de nombreux ordinateurs établissent des connexions distantes à un ordinateur exécutant Windows PowerShell. Dans ce cas, IIS héberge les services Web pour la gestion (WS-Management) pour une efficacité.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Authentication

Spécifie le mécanisme d’authentification à utiliser sur le serveur. Les valeurs possibles sont les suivantes :

  • Basic - De base est un schéma dans lequel le nom d’utilisateur et le mot de passe sont envoyés en texte clair au serveur ou au proxy.
  • Default : utilisez la méthode d’authentification implémentée par le protocole WS-Management. Il s’agit de la valeur par défaut.
  • Digest - Digest est un schéma de réponse aux défis qui utilise une chaîne de données spécifiée par le serveur pour le défi.
  • Kerberos : l’ordinateur client et le serveur s’authentifient mutuellement à l’aide de certificats Kerberos.
  • Negotiate - Négocier est un schéma de réponse aux défis qui négocie avec le serveur ou le proxy pour déterminer le schéma à utiliser pour l’authentification. Par exemple, cette valeur de paramètre permet de négocier si le protocole Kerberos ou NTLM est utilisé.
  • CredSSP : utilisez l’authentification CredSSP (Credential Security Support Provider), qui permet à l’utilisateur de déléguer les informations d’identification. Cette option est conçue pour les commandes qui s’exécutent sur un ordinateur distant, mais collectent des données à partir ou exécutent des commandes supplémentaires sur d’autres ordinateurs distants.

Prudence

CredSSP délègue les informations d’identification de l’utilisateur de l’ordinateur local à un ordinateur distant. Cette pratique augmente le risque de sécurité de l’opération à distance. Si l’ordinateur distant est compromis, lorsque les informations d’identification sont transmises, les informations d’identification peuvent être utilisées pour contrôler la session réseau.

Type:AuthenticationMechanism
Alias:auth, am
Valeurs acceptées:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CertificateThumbprint

Spécifie le certificat de clé publique numérique (X509) d’un compte d’utilisateur autorisé à effectuer cette action. Entrez l’empreinte numérique du certificat.

Les certificats sont utilisés dans l’authentification basée sur les certificats client. Ils ne peuvent être mappés qu’à des comptes d’utilisateur locaux ; ils ne fonctionnent pas avec les comptes de domaine.

Pour obtenir une empreinte numérique de certificat, utilisez la commande Get-Item ou Get-ChildItem dans le lecteur Windows PowerShell Cert : .

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ComputerName

Spécifie l’ordinateur sur lequel vous souhaitez exécuter l’opération de gestion. La valeur peut être un nom de domaine complet, un nom NetBIOS ou une adresse IP. Utilisez le nom de l’ordinateur local, utilisez localhost ou utilisez un point (.) pour spécifier l’ordinateur local. L’ordinateur local est la valeur par défaut. Lorsque l’ordinateur distant se trouve dans un domaine différent de celui de l’utilisateur, vous devez utiliser un nom de domaine complet. Vous pouvez diriger une valeur pour ce paramètre vers l’applet de commande.

Type:String
Alias:cn
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ConnectionURI

Spécifie le point de terminaison de connexion. Le format de cette chaîne est :

<Transport>://<Server>:<Port>/<ApplicationName>

La chaîne suivante est une valeur correctement mise en forme pour ce paramètre :

http://Server01:8080/WSMAN

L’URI doit être complet.

Type:Uri
Alias:CURI, CU
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel. Tapez un nom d’utilisateur, tel que « User01 », « Domain01\User01 » ou User@Domain.com. Ou entrez un objet PSCredential, tel qu’un retourné par l’applet de commande Get-Credential. Lorsque vous tapez un nom d’utilisateur, vous serez invité à entrer un mot de passe.

Type:PSCredential
Alias:cred, c
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-FilePath

Spécifie le chemin d’accès d’un fichier utilisé pour mettre à jour une ressource de gestion. Vous spécifiez la ressource de gestion à l’aide du paramètre ResourceURI et du paramètre SelectorSet. Par exemple, la commande suivante utilise le paramètre FilePath :

Invoke-WSManAction -Action StopService -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

Cette commande appelle la méthode StopService sur le service Spooler à l’aide d’une entrée à partir d’un fichier. Le fichier, Input.xml, contient le contenu suivant :

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Type:String
Alias:Path
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OptionSet

Transmet un ensemble de commutateurs à un service pour modifier ou affiner la nature de la requête. Ces commutateurs sont similaires aux commutateurs utilisés dans les interpréteurs de commandes, car ils sont spécifiques au service. Vous pouvez spécifier n’importe quel nombre d’options.

L’exemple suivant illustre la syntaxe qui transmet les valeurs 1, 2 et 3 pour les paramètres a, b et c :

-OptionSet @{a=1;b=2;c=3}

Type:Hashtable
Alias:os
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Port

Spécifie le port à utiliser lorsque le client se connecte au service WinRM. Lorsque le transport est HTTP, le port par défaut est 80. Lorsque le transport est HTTPS, le port par défaut est 443. Lorsque vous utilisez HTTPS comme transport, la valeur du paramètre ComputerName doit correspondre au nom commun du certificat du serveur (CN). Toutefois, si le paramètre SkipCNCheck est spécifié dans le cadre du paramètre SessionOption, le nom commun du certificat du serveur n’a pas besoin de correspondre au nom d’hôte du serveur. Le paramètre SkipCNCheck doit être utilisé uniquement pour les machines approuvées.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ResourceURI

Contient l’URI (Uniform Resource Identifier) de la classe de ressource ou de l’instance. L’URI est utilisé pour identifier un type spécifique de ressource, tel que des disques ou des processus, sur un ordinateur.

Un URI se compose d’un préfixe et d’un chemin d’accès à une ressource. Par exemple:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

Type:Uri
Alias:ruri
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-SelectorSet

Spécifie un ensemble de paires valeur utilisées pour sélectionner des instances de ressources de gestion particulières. SelectorSet est utilisé lorsque plusieurs instances de la ressource existent. La valeur de SelectorSet doit être une table de hachage.

L’exemple suivant montre comment entrer une valeur pour ce paramètre :

-SelectorSet @{Name="WinRM";ID="yyy"}

Type:Hashtable
Position:2
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-SessionOption

Définit un ensemble d’options étendues pour la session WS-Management. Entrez un objet SessionOption que vous créez à l’aide de l’applet de commande New-WSManSessionOption. Pour plus d’informations sur les options disponibles, consultez New-WSManSessionOption.

Type:SessionOption
Alias:so
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-UseSSL

Spécifie que le protocole SSL (Secure Sockets Layer) est utilisé pour établir une connexion à l’ordinateur distant. Par défaut, SSL n’est pas utilisé.

WS-Management chiffre tout le contenu PowerShell transmis sur le réseau. Le paramètre UseSSL vous permet de spécifier la protection supplémentaire du protocole HTTPS au lieu de HTTP. Si SSL n’est pas disponible sur le port utilisé pour la connexion et que vous spécifiez ce paramètre, la commande échoue.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ValueSet

Spécifie une table de hachage qui permet de modifier une ressource de gestion. Vous spécifiez la ressource de gestion à l’aide des paramètres ResourceURI et SelectorSet. La valeur du paramètre ValueSet doit être une table de hachage.

Type:Hashtable
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

XmlElement

Cette applet de commande retourne le résultat de l’opération en tant qu’objet XmlElement.