NOM
Invoke-Expression
RÉSUMÉ
Exécute les commandes ou les expressions sur l'ordinateur local.
SYNTAXE
Invoke-Expression [-Command] <string> [<CommonParameters>]
DESCRIPTION
L'applet de commande Invoke-Expression évalue ou exécute une chaîne spécifiée en tant que commande et retourne les résultats de l'expression ou de la commande. Sans Invoke-Expression, une chaîne envoyée à la ligne de commande serait retournée (répétée) inchangée.
PARAMÈTRES
-Command <string>
Spécifie la commande ou l'expression à exécuter. Tapez la commande ou l'expression, ou entrez une variable contenant la commande ou l'expression. Le paramètre Command est obligatoire.
Obligatoire ? true
Position ? 1
Valeur par défaut
Accepter l'entrée de pipeline ? true (ByValue)
Accepter les caractères génériques ? false
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer et OutVariable. Pour plus d'informations, tapez
« get-help about_commonparameters ».
ENTRÉES
System.String ou PSObject
Vous pouvez diriger un objet représentant la commande vers Invoke-Expression. Utilisez la variable automatique $input pour représenter les objets d'entrée dans la commande.
SORTIES
PSObject
Retourne la sortie générée par la commande appelée (valeur du paramètre Command).
NOTES
-- Une expression est une instruction qui peut être évaluée et qui produit un résultat, telle qu'une commande Windows PowerShell.
-- Soyez vigilant lorsque vous utilisez l'applet de commande Invoke-Expression dans des scripts. Lorsque vous utilisez Invoke-Expression pour exécuter une commande entrée par l'utilisateur, vérifiez que la commande est sûre avant de l'exécuter. En général, il vaut mieux concevoir votre script avec des options d'entrée prédéfinies, plutôt que d'autoriser les entrées libres.
-------------------------- EXEMPLE 1 --------------------------
C:\PS>$command = "Get-Process"
C:\PS> $command
Get-Process
C:\PS> invoke-expression $command
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
296 4 1572 1956 20 0.53 1348 AdtAgent
270 6 1328 800 34 0.06 2396 alg
67 2 620 484 20 0.22 716 ati2evxx
1060 15 12904 11840 74 11.48 892 CcmExec
1400 33 25280 37544 223 38.44 2564 communicator
...
Description
-----------
Cet exemple illustre l'utilisation de l'applet de commande Invoke-Expression pour évaluer une expression. Sans Invoke-Expression, l'expression est imprimée, mais non évaluée.
La première commande attribue la valeur « Get-Process » (une chaîne) à la variable $command.
La deuxième commande montre le résultat obtenu lorsque l'on tape le nom de la variable sur la ligne de commande. Windows PowerShell répète la chaîne.
La troisième commande utilise Invoke-Expression pour évaluer la chaîne.
-------------------------- EXEMPLE 2 --------------------------
C:\PS>invoke-expression -command "C:\ps-test\testscript.ps1"
C:\PS> "C:\ps-test\testscript.ps1" | invoke-expression
Description
-----------
Ces commandes utilisent Invoke-Expression pour exécuter un script, TestScript.ps1, sur l'ordinateur local. Les deux commandes sont équivalentes. La première utilise le paramètre Command pour spécifier la commande à exécuter. La deuxième utilise un opérateur de pipeline (|) pour envoyer la chaîne de commande à Invoke-Expression.
-------------------------- EXEMPLE 3 --------------------------
C:\PS>$cmd = 'get-process | where {$_.cpu -gt 1000}'
C:\PS> iex $command
Description
-----------
Cet exemple exécute une chaîne de commande enregistrée dans la variable $cmd.
La chaîne de commande est entourée de guillemets simples parce qu'elle inclut une variable, $_, qui représente l'objet actuel. Si elle était entourée de guillemets doubles, la variable $_ serait remplacée par sa valeur avant d'être enregistrée dans la chaîne $command.
-------------------------- EXEMPLE 4 --------------------------
C:\PS>$cmdlet_name = "get-eventlog"
C:\PS> $example_number = 1
C:\PS> $example_code = (get-help $cmdlet_name).examples.example[($example_number-1)].code
C:\PS> invoke-expression $example_code
Description
-----------
Cette commande récupère et exécute le premier exemple de la rubrique d'aide de l'applet de commande Get-EventLog.
Pour exécuter un exemple d'une autre applet de commande, remplacez la valeur de la variable $cmdlet_name par le nom de l'applet de commande en question. Ensuite, remplacez la variable $example_number par le numéro de l'exemple que vous souhaitez exécuter. Si le numéro d'exemple n'est pas valide, la commande échoue.
LIENS CONNEXES
Online version: http://go.microsoft.com/fwlink/?LinkID=113343
Invoke-Command
Aucun commentaire:
Enregistrer un commentaire