[CmdletBinding()]
[Parameter(Mandatory)]
[ValidateSet("Low","Average","High")]
[String] $Ba... d'exécution du script. On peut ainsi afficher les valeurs des variables taper des commandes de débogage et analyser le comportement du script pas à pas.
... stoppe l'exécution à la ligne spécifiée ;
* ''-Variable'' : stoppe l’exécution lors de l'accès en l
tient une simple table de hachage. Les paires clé-valeur dans la table de hachage permettent de :
* ... uthor "YourNameHere"
</code>
On peut définir les valeurs des arguments dans une table de hash puis ap... CmdletsToExport = @()
AliasesToExport = @()
VariablesToExport = @('$aVarName1', '$aVarName2')
}
... des objets à exporter =====
Fonctions, alias et variables doivent être sélectionnés pour être export
défaut dans la console de l'utilisateur. C'est la variable **$VerbosePreference** qui permet de déterm... ment pour l'environnement actif:
Les différentes valeurs possibles pour la variable **$VerbosePreference** correspondent à un sous ensemble des valeurs du type énuméré **ActionPreference**:
^ Sto
Get-EventLog Security -Newest $Last
# Valeurs à retourner (optionnel)
Return($values)
}
</code>
La note [[dev/powershell/parametres|utili... ns d’aide dans chaque fonction.
===== Portée des variables =====
3 portées distinctes existent :
^ Global | Variables accessibles dans l'invite PowerShell et le
l’exécution sont tout de même accessible dans la variable **$args**.
Param() reçoit des variables, elles peuvent être fortement typées :
<code powershe... r')]
[PSDefaultValue(Help='Current directory', Value=102)]
[int] $TankID = 102
)
</code>
On peut également introduire des tests de validation des paramètres. La validation peut s'appl
fier le dossier temp de l'utilisateur ======
Les variables d’environnement **TEMP** et **TMP** défini... dans un RAM Disk.
<code powershell>
# Affiche la valeur de la variable d'environnement
$env:TEMP
</code>
En PowerShell la classe **System.Environment**... entVariable()**.
<code powershell>
# Retourne la valeur de la variable TEMP
[System.Environment]::Get
ois.
<code powershell>
$userChoise = 'Oui'
# La variable est initialisée à 'oui'
# le bloc ci-dessou... * ou des **If** imbriqués.
**Switch** compare la valeur fournie a un ensemble de valeurs attendues. Un bloc d'instructions est associé et exécuté pour ch... " }
Default { Write-Host "You did not select a valid option" }
}
</code>
**Switch** possède les op
es tableaux ======
Les tableaux (Array) sont des variables permettant de stocker des valeurs de même type.
===== Créer une variable tableau =====
<code powershell>
# Le type tableau est d... d"
$devices.Length
2
</code>
===== Accéder aux valeurs =====
Le nom de la variable tableau retourn
numéro de caractère spécifié. |
^ Replace(string value,string value) | Remplace toutes les instances de la première chaîne par la deuxième chaîne. |
^ Sp... learn.microsoft.com/fr-fr/training/modules/manage-variables-windows-powershell-scripts/6-use-string-variables-methods
lé : une chaîne de caractère unique associée à la valeur.
<code powershell>
# Définit une table de h... $message = '{0} is {1} years old!' -f $_.key, $_.value
Write-Output $message
}
</code>
===== Pa... e : on souhaite simplement stocker un ensemble de valeurs et accéder aux propriétés. Dans ce cas on pe
t** récupère la saisie utilisateur et alimente la variable :
<code powershell>
$user_answer = Read-Ho... line
$user = Read-Host
</code>
<note warning>
La valeur lue par **Read-Host** ne peut excéder 1022 ca