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
Cette applet de commande retourne le résultat de l’opération en tant qu’objet XmlElement.