Ceci est une ancienne révision du document !
Table des matières
PowerShell
Exécuter des scripts
set-executionpolicy RemoteSigned
Variables
On peut spécifier une variable tout simplement en lui assignant une valeur:
$var="Ceci est une chaîne." $nombre = 5 $fichiers = dir C:\
Chaînes
Dans PowerShell, les chaînes peuvent être délimitées par des guillemets simples ('
, single-quote) ou doubles ("
, double-quote). Donc, ces deux valeurs sont équivalentes:
"Hello World"
'Hello World'
Utiliser les deux types de délimiteurs permet d'inclure des caractères de l'autre type, par exemple: J'utilise le PowerShell.
ou 'Il a dit "Hello World" dans son script PowerShell.'
.
Si un guillemet simple est nécessaire dans une chaîne délimitée par des guillemets simples, on peut les doubler, par exemple : 'J''utilise PowerShell.'
.
Here-string
Pour initialiser une chaîne sur plusieurs lignes, on peut utilser le principe de here-string avec des '@
ou "@
:
$var='@ J'utilise les here-strings dans PowerShell '@ $var2="@ un autre exemple de here-string. "@ # En bas, ça ne fonctionnera pas $var3='@ on ne peut pas laisser d'espace devant le dernier delimiteur '@
Substitution de chaîne
La différence principale entre utiliser le délimiteur single-quote ou double-quote, c'est la substitution dans les chaînes. Dans les chaînes délimitées par des double-quotes, l'utilisation d'une variable dans la chaîne sera remplacée par sa valeur. Si la variable $nom
contient Stéphane
, la valeur de la chaîne "Mon nom est $nom."
sera Mon nom est Stéphane.
Caractère d'échappement
Normalement dans les langages de programmation, le caractère d'échappement est la barre oblique inversée (\
, backslash), mais dans PowerShell on peut s'en servir comme séparateur de répertoires dans les chemins (C:\Program Files\Application
), donc on utilise plutôt le backtick : `
.
"La valeur de la variable `$var est $var"
Par exemple, pour une commande :
Copy-Item -Recurse C:\Projets\Application` 101\Site` Web\* -ToSession $session -Destination C:\inetpub\Application` 101
Scripts
Paramètres
Pour un script appelé de cette façon : script.ps1 param1 param2
, les valeurs seront dans args
qui est un tableau:
$param1=args[0] $param2=args[1]
Pour les paramètres nommés, par exemple dans script.ps1 -nom Mike
, c'est à l'aide de la fonction param()
:
param($nom) return "Le nom est $nom."
Gestion d'erreurs
Code de sortie
commande_erreur.exe exit $LASTEXITCODE