Windows PowerShell fonctionne avec des objets. Windows PowerShell vous permet de créer des variables (essentiellement des objets nommés) pour conserver la sortie en vue d'une utilisation ultérieure. Si vous êtes habitué à travailler avec des variables dans d'autres interpréteurs de commandes, souvenez-vous que les variables Windows PowerShell sont des objets et non du texte.

Les variables sont toujours spécifiées avec le caractère initial $ et leur nom peut inclure tout caractère alphanumérique ou le trait de soulignement.

Création d'une variable

Vous pouvez créer une variable en tapant un nom de variable valide :

PS> $loc
PS>

Cette commande ne retourne aucun résultat, car $loc n'a pas de valeur. Vous pouvez créer une variable et lui affecter une valeur en une même étape. Windows PowerShell crée la variable seulement si elle n'existe pas ; sinon, il affecte la valeur spécifiée à la variable existante. Pour stocker votre emplacement actuel dans la variable $loc, tapez :

$loc = Get-Location

Cette commande n'affiche aucune sortie, car celle-ci est envoyée à $loc. Dans Windows PowerShell, la sortie affichée est un effet secondaire du fait que les données qui ne sont pas dirigées ailleurs sont toujours envoyées à l'écran. Taper $loc affichera votre emplacement actuel :

PS> $loc

Path
----
C:\temp

Vous pouvez utiliser Get-Member pour afficher des informations sur le contenu de variables. En dirigeant $loc vers Get-Member, vous pouvez voir qu'il s'agit d'un objet PathInfo, tout comme la sortie de Get-Location :

PS> $loc | Get-Member -MemberType Property


   TypeName: System.Management.Automation.PathInfo

Name         MemberType Definition
----         ---------- ----------
Drive        Property   System.Management.Automation.PSDriveInfo Drive {get;}
Path         Property   System.String Path {get;}
Provider     Property   System.Management.Automation.ProviderInfo Provider {...
ProviderPath Property   System.String ProviderPath {get;}

Manipulation de variables

Windows PowerShell fournit plusieurs commandes pour la manipulation de variables. Vous pouvez en obtenir la liste complète présentée de manière lisible en tapant :

Get-Command -Noun Variable | Format-Table -Property Name,Definition -AutoSize -Wrap

Outre les variables que vous créez dans votre session Windows PowerShell actuelle, il existe plusieurs variables définies par le système. Vous pouvez utiliser l'applet de commande Remove-Variable pour effacer toutes les variables qui ne sont pas contrôlées par Windows PowerShell. Tapez la commande suivante pour effacer toutes les variables :

Remove-Variable -Name * -Force -ErrorAction SilentlyContinue

Cela entraîne l'affichage du message de demande de confirmation ci-dessous.

Confirm
Are you sure you want to perform this action?
Performing operation "Remove Variable" on Target "Name: Error".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):A

Si vous exécutez ensuite l'applet de commande Get-Variable, vous verrez les variables Windows PowerShell restantes. Comme Windows PowerShell propose aussi un lecteur variable:, vous pouvez également afficher toutes les variables Windows PowerShell en tapant :

Get-ChildItem variable:

Utilisation de variables Cmd.exe

Bien que Windows PowerShell ne soit pas Cmd.exe, il s'exécute dans un environnement d'interpréteur de commandes et peut utiliser les mêmes variables disponibles dans tout environnement dans Windows. Ces variables sont exposées via le lecteur nommé env:. Vous pouvez les consulter en tapant :

Get-ChildItem env:

Bien que les applets de commande variables standard ne soient pas conçues pour fonctionner avec des variables env:, vous pouvez les utiliser en spécifiant le préfixe env:. Par exemple, pour voir le répertoire racine du système d'exploitation, vous pouvez utiliser la variable %SystemRoot% de l'interpréteur de commandes à partir de Windows PowerShell en tapant :

PS> $env:SystemRoot
C:\WINDOWS

Vous pouvez également créer et modifier des variables d'environnement à partir de Windows PowerShell. Les variables d'environnement accessibles à partir de Windows PowerShell obéissent aux règles normales des variables d'environnement présentes ailleurs dans Windows.




Table des matières