systemes_dexploitation:windows:all:powershell
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
systemes_dexploitation:windows:all:powershell [2016/11/08 17:27] – sgariepy | systemes_dexploitation:windows:all:powershell [2016/12/19 21:55] (Version actuelle) – supprimée sgariepy | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== PowerShell ====== | ||
- | |||
- | ===== Version ===== | ||
- | |||
- | $PSVersionTable | ||
- | |||
- | ===== Exécuter des scripts ===== | ||
- | |||
- | | ||
- | set-executionpolicy RemoteSigned | ||
- | |||
- | ====== Variables ====== | ||
- | |||
- | On peut spécifier une variable tout simplement en lui assignant une valeur: | ||
- | |||
- | < | ||
- | $var=" | ||
- | $nombre = 5 | ||
- | $fichiers = dir C:\ | ||
- | </ | ||
- | |||
- | |||
- | ====== Chaînes ====== | ||
- | |||
- | |||
- | Dans PowerShell, les chaînes peuvent être délimitées par des guillemets simples ('' | ||
- | * '' | ||
- | * '' | ||
- | |||
- | Utiliser les deux types de délimiteurs permet d' | ||
- | |||
- | Si un guillemet simple est nécessaire dans une chaîne délimitée par des guillemets simples, on peut les doubler, par exemple : '' | ||
- | |||
- | ===== Here-string ===== | ||
- | |||
- | Pour initialiser une chaîne sur plusieurs lignes, on peut utilser le principe de // | ||
- | |||
- | < | ||
- | $var=' | ||
- | J' | ||
- | dans PowerShell | ||
- | '@ | ||
- | |||
- | $var2=" | ||
- | un autre exemple de here-string. | ||
- | "@ | ||
- | |||
- | # En bas, ça ne fonctionnera pas | ||
- | $var3=' | ||
- | on ne peut pas laisser d' | ||
- | '@ | ||
- | </ | ||
- | |||
- | |||
- | ===== Substitution de chaîne ===== | ||
- | |||
- | La différence principale entre utiliser le délimiteur // | ||
- | |||
- | |||
- | |||
- | ===== Caractère d' | ||
- | |||
- | Normalement dans les langages de programmation, | ||
- | |||
- | "La valeur de la variable `$var est $var" | ||
- | |||
- | |||
- | Par exemple, pour une commande : | ||
- | |||
- | Copy-Item -Recurse C: | ||
- | |||
- | |||
- | ====== Scripts ====== | ||
- | |||
- | ===== Paramètres ===== | ||
- | |||
- | |||
- | Pour un script appelé de cette façon : '' | ||
- | |||
- | $param1=args[0] | ||
- | $param2=args[1] | ||
- | |||
- | Pour les paramètres nommés, par exemple dans '' | ||
- | param($nom) | ||
- | return "Le nom est $nom." | ||
- | |||
- | |||
- | ====== Logique ====== | ||
- | |||
- | |||
- | ===== Conditions ===== | ||
- | |||
- | L' | ||
- | |||
- | < | ||
- | param($number) | ||
- | if ($number -eq 5) { | ||
- | Write-Output "Vous avez deviné le chiffre magique." | ||
- | } | ||
- | else { | ||
- | Write-Output "Vous n'avez pas trouvé." | ||
- | } | ||
- | </ | ||
- | |||
- | Au lieu du '' | ||
- | |||
- | < | ||
- | switch (expression) | ||
- | { | ||
- | {test} {code block} | ||
- | value {code block} | ||
- | default {code block} | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | < | ||
- | $today=get-date | ||
- | |||
- | switch ($today.day) | ||
- | { | ||
- | 1 { Write-Host "Jour de paie!" } | ||
- | 1 { Write-Host " | ||
- | 5 { Write-Host " | ||
- | 10 { Write-Host " | ||
- | default { Write-Host "Rien à se rappeler aujourd' | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | |||
- | ===== Boucles ===== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ====== Gestion d' | ||
- | |||
- | |||
- | |||
- | |||
- | ===== Trap statement ===== | ||
- | |||
- | L' | ||
- | |||
- | < | ||
- | function test-trap { | ||
- | trap { | ||
- | "Une erreur est survenue: $_" | ||
- | } | ||
- | | ||
- | $var = 1/0 | ||
- | Write-Host "Fin de la fonction" | ||
- | } | ||
- | </ | ||
- | |||
- | On peut utiliser '' | ||
- | |||
- | |||
- | ===== Try/Catch ===== | ||
- | |||
- | Dans PowerShell 2.0 ou plus, on peut utiliser les '' | ||
- | |||
- | |||
- | < | ||
- | try { | ||
- | $var=1/0 | ||
- | "La fonction s'est terminée correctement" | ||
- | } | ||
- | catch [System.Management.Automation.CommandNotFoundException] { | ||
- | " | ||
- | } | ||
- | catch { | ||
- | " | ||
- | } | ||
- | finally { | ||
- | "Ceci s' | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | ===== ErrorAction ===== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Code de sortie ===== | ||
- | |||
- | commande_erreur.exe | ||
- | exit $LASTEXITCODE | ||
- | | ||
- | | ||
- | ====== Commandes ====== | ||
- | |||
- | ===== Système de fichiers ===== | ||
- | |||
- | Param($path) | ||
- | new-item -ItemType Directory -Name $path | ||
- | cd $path | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
systemes_dexploitation/windows/all/powershell.1478622429.txt.gz · Dernière modification : 2022/02/02 00:42 (modification externe)