Variables et types en PowerShell

2025-03-10Équipe pwsh.frDébutant~12 min de lecture

Déclarer une variable

Toute variable PowerShell commence par le signe $. Le type est inféré automatiquement :

$nom    = 'Alice'
$age    = 30
$actif  = $true
$pi     = 3.14159

Typage fort

Vous pouvez forcer un type en le précisant entre crochets :

[string]  $prenom  = 'Bob'
[int]     $annee   = 2025
[bool]    $debug   = $false
[decimal] $prix    = 9.99

Types fondamentaux

Type .NETAlias PSExemple
System.String[string]'Bonjour'
System.Int32[int]42
System.Int64[long]9999999999L
System.Double[double]3.14
System.Boolean[bool]$true / $false
System.DateTime[datetime]Get-Date
System.Object[][array]@(1,2,3)
System.Collections.Hashtable[hashtable]@{}

Arrays

$fruits = @('pomme', 'banane', 'cerise')
$fruits[0]          # pomme
$fruits[-1]         # cerise
$fruits.Count       # 3

# Filtrer
$fruits | Where-Object { $_ -like 'b*' }  # banane

Hashtables

$config = @{
    Serveur = 'srv01'
    Port    = 8080
    SSL     = $true
}

$config['Serveur']     # srv01
$config.Port           # 8080
$config['Timeout'] = 30  # Ajouter une clé

Conversions de types

[int]'42'              # 42
[string]100            # '100'
[datetime]'2025-03-01' # DateTime

# Vérifier le type
$val = 3.14
$val.GetType().Name    # Double

Portée des variables

$Global:Compteur = 0          # Accessible partout
$Script:Config   = 'prod'     # Dans le script courant
$Local:Temp      = 'tmp'      # Dans la portée locale

Variables automatiques utiles

$_           # Objet courant dans le pipeline
$null        # Valeur nulle
$true/$false # Booléens
$Error[0]    # Dernière erreur
$env:PATH    # Variables d'environnement
$PSVersionTable.PSVersion  # Version PowerShell