Exécute les commandes sur des ordinateurs locaux et distants.
-AllowRedirection
Autorise la redirection de cette connexion vers un autre URI.
Lorsque vous utilisez le paramètre ConnectionURI, la destination distante peut retourner une instruction pour rediriger vers un URI différent. Par défaut, Windows PowerShell ne redirige pas les connexions, mais vous pouvez utiliser le paramètre AllowRedirection pour lui permettre de rediriger la connexion.
Vous pouvez également limiter le nombre de redirections de la connexion en définissant la propriété MaximumConnectionRedirectionCount de la variable de préférence $PSSessionOption ou la propriété MaximumConnectionRedirectionCount de la valeur du paramètre SessionOption. La valeur par défaut est 5. Pour plus d'informations, consultez la description du paramètre SessionOption et la rubrique d'aide relative à l'applet de commande New-PSSessionOption.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-ApplicationName <string>
Spécifie le segment du nom d'application dans l'URI de connexion. Utilisez ce paramètre pour spécifier le nom d'application lorsque vous n'employez pas le paramètre ConnectionURI dans la commande.
La valeur par défaut est la valeur de la variable de préférence $PSSessionApplicationName sur l'ordinateur local. Si cette variable de préférence n'est pas définie, la valeur par défaut est WSMAN. Cette valeur convient pour la plupart des utilisations. Pour plus d'informations, consultez about_Preference_Variables.
Le service WinRM utilise le nom d'application afin de sélectionner un écouteur pour le traitement de la demande de connexion. La valeur de ce paramètre doit correspondre à celle de la propriété URLPrefix d'un écouteur sur l'ordinateur distant.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
WSMAN
|
|
Accepter l'entrée de pipeline ?
|
true (ByPropertyName)
|
|
Accepter les caractères génériques ?
|
false
|
-ArgumentList <Object[]>
Fournit les valeurs des variables locales dans la commande. Les variables de la commande sont remplacées par ces valeurs avant l'exécution de la commande sur l'ordinateur distant. Entrez les valeurs dans une liste séparée par des virgules. Les valeurs sont associées aux variables dans leur ordre d'affichage. L'alias pour ArgumentList est « Args ».
Les valeurs figurant dans ArgumentList peuvent être des valeurs réelles, telles que « 1024 », ou des références à des variables locales, telles que « $max ».
Pour utiliser des variables locales dans une commande, utilisez le format de commande suivant :
{param($<nom1>[, $<nom2>]...) <commande-avec-variables-locales>} -ArgumentList <valeur | variable-$local>
Le mot clé « param » répertorie les variables locales utilisées dans la commande. Le paramètre ArgumentList fournit les valeurs des variables, dans leur ordre d'affichage.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-AsJob
Exécute la commande en tant que tâche en arrière-plan sur un ordinateur distant. Utilisez ce paramètre pour exécuter des commandes dont l'exécution nécessite beaucoup de temps.
Lorsque vous utilisez AsJob, la commande retourne un objet qui représente la tâche, puis affiche l'invite de commandes. Vous pouvez continuer à travailler dans la session pendant l'exécution de la tâche. Pour gérer la tâche, utilisez les applets de commande Job. Pour obtenir les résultats de la tâche, utilisez Receive-Job.
L'utilisation du paramètre AsJob revient à utiliser Invoke-Command pour exécuter une commande Start-Job à distance. Toutefois, la tâche est créée sur l'ordinateur local avec AsJob, bien qu'elle s'exécute sur un ordinateur distant, et les résultats de la tâche distante sont retournés automatiquement à l'ordinateur local.
Pour plus d'informations sur les tâches en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
aucun
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-Authentication <AuthenticationMechanism>
Spécifie le mécanisme permettant d'authentifier les informations d'identification de l'utilisateur. Les valeurs valides sont Default, Basic, Credssp, Digest, Kerberos, Negotiate et NegotiateWithImplicitCredential. La valeur par défaut est Default.
L'authentification CredSSP n'est disponible que dans Windows Vista, Windows Server 2008 et les versions ultérieures de Windows.
Pour plus d'informations sur les valeurs de ce paramètre, consultez la description de l'énumération System.Management.Automation.Runspaces.AuthenticationMechanism dans MSDN.
ATTENTION : l'authentification CredSSP (Credential Security Service Provider), au cours de laquelle les informations d'identification de l'utilisateur sont passées à un ordinateur distant pour être authentifiées, est conçue pour les commandes qui requièrent une authentification sur plusieurs ressources, telles que l'accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité lié à l'opération distante. Si l'ordinateur distant n'est pas fiable, les informations d'identification qui lui sont passées peuvent être utilisées pour contrôler la session réseau.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
Default
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-CertificateThumbprint <string>
Spécifie le certificat de clé publique numérique (X509) d'un compte d'utilisateur qui a l'autorisation d'exécuter cette action. Entrez l'empreinte numérique du certificat.
Les certificats sont utilisés dans une authentification basée sur les certificats clients. Ils peuvent être mappés uniquement à des comptes d'utilisateur local ; ils ne fonctionnent pas avec des comptes de domaine.
Pour obtenir une empreinte numérique de certificat, utilisez les commandes Get-Item ou Get-ChildItem sur le lecteur Cert: de Windows PowerShell.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-ComputerName <string[]>
Spécifie les ordinateurs sur lesquels la commande s'exécute. La valeur par défaut est l'ordinateur local.
Lorsque vous utilisez le paramètre ComputerName, Windows PowerShell crée une liaison temporaire qui est utilisée uniquement pour exécuter la commande spécifiée et est fermée ensuite. Si vous avez besoin d'une connexion permanente, utilisez le paramètre Session.
Tapez le nom NETBIOS, l'adresse IP ou le nom de domaine complet d'un ou de plusieurs ordinateurs dans une liste séparée par des virgules. Pour spécifier l'ordinateur local, tapez le nom de l'ordinateur, « localhost » ou un point (.).
Pour utiliser une adresse IP dans la valeur du paramètre ComputerName, la commande doit inclure le paramètre Credential. En outre, l'ordinateur doit être configuré pour le transport HTTPS ou l'adresse IP de l'ordinateur distant doit être incluse dans la liste TrustedHosts WinRM de l'ordinateur local. Pour obtenir des instructions sur l'ajout d'un nom d'ordinateur à la liste TrustedHosts, consultez « Comment ajouter un ordinateur à la liste des hôtes approuvés » dans about_Remote_Troubleshooting.
Remarque : sous Windows Vista et les versions ultérieures de Windows, pour inclure l'ordinateur local dans la valeur du paramètre ComputerName, vous devez ouvrir Windows PowerShell avec l'option Exécuter en tant qu'administrateur.
|
Obligatoire ?
|
false
|
|
Position ?
|
1
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
true (ByPropertyName)
|
|
Accepter les caractères génériques ?
|
false
|
-ConfigurationName <string>
Spécifie la configuration de session utilisée pour la nouvelle session PSSession.
Entrez un nom de configuration ou l'URI de ressource complet d'une configuration de session. Si vous spécifiez uniquement le nom de la configuration, l'URI de schéma suivant est ajouté en tant que préfixe : http://schemas.microsoft.com/powershell.
La configuration d'une session se trouve sur l'ordinateur distant. Si la configuration de session spécifiée n'existe pas sur l'ordinateur distant, la commande échoue.
La valeur par défaut est la valeur de la variable de préférence $PSSessionConfigurationName sur l'ordinateur local. Si cette variable de préférence n'est pas définie, la valeur par défaut est Microsoft.PowerShell. Pour plus d'informations, consultez about_Preference_Variables.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
http://Schemas.Microsoft.com/PowerShell/Microsoft.PowerShell
|
|
Accepter l'entrée de pipeline ?
|
true (ByPropertyName)
|
|
Accepter les caractères génériques ?
|
false
|
-ConnectionURI <Uri[]>
Spécifie un URI (Uniform Resource Identifier) qui définit le point de terminaison de connexion. L'URI doit être complet.
Le format de cette chaîne est le suivant :
<Transport>://<ComputerName>:<Port>/<ApplicationName>
La valeur par défaut est :
http://localhost:80/WSMAN
Les valeurs valides pour le segment Transport de l'URI sont HTTP et HTTPS. Si vous ne spécifiez pas de valeur ConnectionURI, vous pouvez utiliser les paramètres UseSSL, ComputerName, Port et ApplicationName pour indiquer les valeurs d'URI.
Si l'ordinateur de destination redirige la connexion vers un URI différent, Windows PowerShell empêche la redirection à moins que vous n'utilisiez le paramètre AllowRedirection dans la commande.
|
Obligatoire ?
|
false
|
|
Position ?
|
1
|
|
Valeur par défaut
|
http://localhost:80/wsman
|
|
Accepter l'entrée de pipeline ?
|
true (ByPropertyName)
|
|
Accepter les caractères génériques ?
|
false
|
-Credential <PSCredential>
Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter cette action. La valeur par défaut est l'utilisateur actuel.
Tapez un nom d'utilisateur, comme « User01 » ou « Domain01\User01 », ou entrez une variable contenant un objet PSCredential, tel que celui généré par l'applet de commande Get-Credential. Lorsque vous tapez un nom d'utilisateur, vous êtes invité à entrer un mot de passe.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
true (ByPropertyName)
|
|
Accepter les caractères génériques ?
|
false
|
-FilePath <string>
Exécute le script local spécifié sur un ou plusieurs ordinateurs distants. Entrez le chemin d'accès et le nom de fichier du script, ou dirigez un chemin d'accès de script vers Invoke-Command. Le script doit résider sur l'ordinateur local ou dans un répertoire auquel l'ordinateur local peut accéder. Utilisez le paramètre ArgumentList pour spécifier les valeurs de paramètres dans le script.
Lorsque vous utilisez ce paramètre, Windows PowerShell convertit le contenu du fichier de script spécifié en un bloc de script, transmet le bloc de script à l'ordinateur distant, puis l'exécute sur l'ordinateur distant.
|
Obligatoire ?
|
true
|
|
Position ?
|
2
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-HideComputerName
Omet le nom d'ordinateur de chaque objet de l'affichage de sortie. Par défaut, le nom de l'ordinateur qui a généré l'objet apparaît dans l'affichage.
Ce paramètre affecte uniquement l'affichage de sortie. L'objet n'est pas modifié.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-InputObject <psobject>
Spécifie l'entrée de la commande. Entrez une variable contenant les objets ou tapez une commande ou une expression qui obtient les objets.
Lorsque vous utilisez InputObject, utilisez la variable automatique $input dans la valeur du paramètre ScriptBlock pour représenter les objets d'entrée.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
true (ByValue)
|
|
Accepter les caractères génériques ?
|
false
|
-JobName <string>
Spécifie un nom convivial pour la tâche en arrière-plan. Par défaut, les tâches sont nommées « Tâche<n> », où <n> est un nombre ordinal. Ce paramètre est valide uniquement avec le paramètre AsJob.
Si vous utilisez le paramètre JobName dans une commande, la commande est exécutée en tant que tâche et Invoke-Command retourne un objet de traitement, même si vous n'incluez pas le paramètre AsJob dans la commande.
Pour plus d'informations sur les tâches en arrière-plan Windows PowerShell, consultez about_Jobs.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
Job<n>
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-Port <int>
Spécifie le port réseau sur l'ordinateur distant utilisé pour cette commande. La valeur par défaut est le port 80 (le port HTTP).
Avant d'utiliser un autre port, vous devez configurer l'écouteur WinRM sur l'ordinateur distant pour écouter sur ce port. Pour configurer l'écouteur, tapez les deux commandes suivantes à l'invite Windows PowerShell :
remove-item -path wsman:\Localhost\listener\listener* -recurse
new-item -path wsman:\Localhost\listener -Transport http -Address * -port <numéro-port>
N'utilisez pas le paramètre Port à moins d'y être obligé. Le Port défini dans la commande s'applique à tous les ordinateurs ou sessions sur lesquels la commande s'exécute. Le paramètre d'un autre port peut empêcher l'exécution de la commande sur tous les ordinateurs.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-ScriptBlock <scriptblock>
Spécifie les commandes à exécuter. Placez les commandes entre accolades ( { } ) pour créer un bloc de script. Ce paramètre est obligatoire.
Par défaut, toutes les variables de la commande sont évaluées sur l'ordinateur distant. Pour inclure des variables locales dans la commande, utilisez le paramètre ArgumentList.
|
Obligatoire ?
|
true
|
|
Position ?
|
1
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-Session <PSSession[]>
Exécute la commande dans les sessions Windows PowerShell spécifiées (PSSession). Entrez une variable qui contient les sessions PSSession ou une commande qui crée ou obtient les sessions PSSession, telle qu'une commande New-PSSession ou Get-PSSession.
Lorsque vous créez une session PSSession, Windows PowerShell établit une connexion permanente à l'ordinateur distant. Utilisez une session PSSession pour exécuter une série de commandes connexes qui partagent des données. Pour exécuter une commande simple ou une série de commandes non liées, utilisez le paramètre ComputerName.
Pour créer une session PSSession, utilisez l'applet de commande New-PSSession. Pour plus d'informations, consultez about_PSSessions.
|
Obligatoire ?
|
false
|
|
Position ?
|
1
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
true (ByPropertyName)
|
|
Accepter les caractères génériques ?
|
false
|
-SessionOption <PSSessionOption>
Définit des options avancées pour la session. Entrez un objet SessionOption que vous créez à l'aide de l'applet de commande New-PSSessionOption.
Les valeurs par défaut des options sont déterminées par la valeur de la variable de préférence $PSSessionOption, si elle est définie. Sinon, la session utilise les valeurs par défaut du système.
Pour obtenir une description des options de session, notamment des valeurs par défaut, consultez la rubrique d'aide relative à l'applet de commande New-PSSessionOption. Pour plus d'informations sur la variable de préférence $PSSessionOption, consultez about_Preference_Variables.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-ThrottleLimit <int>
Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. Si vous omettez ce paramètre ou entrez la valeur 0, la valeur par défaut 32 est utilisée.
La limite d'accélération s'applique uniquement à la commande actuelle, et non à la session ou à l'ordinateur.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
32
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
-UseSSL
Utilise le protocole SSL (Secure Sockets Layer) pour établir une connexion avec l'ordinateur distant. Par défaut, SSL n'est pas utilisé.
La Gestion des services Web chiffre tout le contenu Windows PowerShell transmis sur le réseau. UseSSL est une protection supplémentaire qui envoie les données via HTTPS plutôt que via HTTP.
Si vous utilisez ce paramètre, mais que SSL n'est pas disponible sur le port utilisé pour la commande, la commande échoue.
|
Obligatoire ?
|
false
|
|
Position ?
|
named
|
|
Valeur par défaut
|
|
|
Accepter l'entrée de pipeline ?
|
false
|
|
Accepter les caractères génériques ?
|
false
|
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez
about_Commonparameters.
-- Sous Windows Vista et les versions ultérieures de Windows, pour utiliser le paramètre ComputerName de Invoke-Command pour exécuter une commande sur l'ordinateur local, vous devez ouvrir Windows PowerShell avec l'option Exécuter en tant qu'administrateur.
-- Lorsque vous exécutez des commandes sur plusieurs ordinateurs, Windows PowerShell se connecte aux ordinateurs dans l'ordre dans lequel ils apparaissent dans la liste. Toutefois, la sortie de la commande est affichée dans l'ordre dans lequel elle est reçue des ordinateurs distants, qui peut être différent.
-- Les erreurs qui résultent de la commande qui exécute Invoke-Command sont incluses dans les résultats de la commande. Les erreurs qui seraient des erreurs avec fin d'exécution dans une commande locale sont traitées comme des erreurs sans fin d'exécution dans une commande distante. Cette stratégie garantit que les erreurs avec fin d'exécution sur un ordinateur ne terminent pas la commande sur tous les ordinateurs sur lesquels elle est exécutée. Cette pratique est utilisée même quand une commande distante est exécutée sur un ordinateur unique.
-- Si l'ordinateur distant n'est pas dans un domaine que l'ordinateur local approuve, l'ordinateur peut ne pas être en mesure d'authentifier les informations d'identification de l'utilisateur. Pour ajouter l'ordinateur distant à la liste des « hôtes approuvés » du service Gestion des services Web, utilisez la commande suivante dans le fournisseur WSMAN, où <Nom-Ordinateur-Distant> est le nom de l'ordinateur distant :
set-item -path wsman:\Localhost\Client\TrustedHosts -value <Nom-Ordinateur-Distant>.