Les variables
- La variable est un emplacement mémoire. Elle se compose de 3 éléments :
- Un nom
- Un type
- Une valeur
Sous PowerShell, une variable est précédée du signe : $
Le contenu d'une variable peut être une valeur unique, ou une collection d'objets
Assignation de variables
L'assignation d'une variable se fait avec le symbole =
$Variable = "ma variable"
Le résultat d'une commande peut être stocké dans une variable de la même manière
$Process = Get-Process -name "Notepad"
Powershell détermine le type de la variable en fonction de la syntaxe avec laquelle elle est définie
$Variable = 1
$Variable | Get-Member
TypeName: System.Int32
...
$Variable = "1"
$Variable | Get-Member
TypeName: System.String
...
Forcer le typage
Il peut être néccéssaire d'avoir à forcer le type d'une variable. Pour cela on précise le type voulu entre [ ] avant le nom de la variable.
[string]$Variable = 1 # Int en string
[int]$Variable = "1" # String en int
[char]$Char = 0201 # Valeur ASCII en charactère
[datetime]$variable = "10/12/1984" # String en Date
Propriétés et méthodes
Les propriétés et les méthodes de l'objet stocké en variable pourront être appelé par un .
$Variable = "Ceci est une phrase"
$Variable.Length
$Variable.ToUpper()
$Process = Get-Process notepad
$Process.ID
$Process.Kill()
Utilisation dans une commande
Une variable ou seulement ses propriétés pourront être utilisés dans une commande
$Date = Get-Date "28/09/2021"
Get-EventLog -LogName Application -After $Date
$Service = Get-Service "Spooler"
"Spooler service is $($Service.Status)"
La syntaxe $($variable.propriete) empêche que la variable ne soit interprété comme une composante de la chaîne de caractère.