Recherche…


Introduction

PowerShell offre une variété de variables "automatiques" utiles. Certaines variables automatiques ne sont remplies que dans des circonstances spéciales, tandis que d'autres sont disponibles globalement.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

Cet exemple récupère la liste des éléments enfants (répertoires et fichiers) du dossier dans lequel réside le fichier de script.

La variable automatique $PSScriptRoot est $null si elle est utilisée à l'extérieur d'un fichier de code PowerShell. S'il est utilisé dans un script PowerShell, il définit automatiquement le chemin d'accès complet au système de fichiers vers le répertoire contenant le fichier de script.

Dans Windows PowerShell 2.0, cette variable est valide uniquement dans les modules de script (.psm1). Depuis Windows PowerShell 3.0, il est valide dans tous les scripts.

$ Args

$Args

Contient un tableau des paramètres non déclarés et / ou des valeurs de paramètres transmis à une fonction, à un script ou à un bloc de script. Lorsque vous créez une fonction, vous pouvez déclarer les paramètres en utilisant le mot-clé param ou en ajoutant une liste de paramètres séparés par des virgules entre parenthèses après le nom de la fonction.

Dans une action d'événement, la variable $ Args contient des objets qui représentent les arguments d'événement de l'événement en cours de traitement. Cette variable est renseignée uniquement dans le bloc Action d'une commande d'enregistrement d'événement. La valeur de cette variable se trouve également dans la propriété SourceArgs de l'objet PSEventArgs (System.Management.Automation.PSEventArgs) renvoyée par Get-Event.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

Identique à $_ . Contient l'objet actuel dans l'objet pipeline. Vous pouvez utiliser cette variable dans des commandes qui exécutent une action sur chaque objet ou sur des objets sélectionnés dans un pipeline.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Contient le statut d'exécution de la dernière opération. Il contient TRUE si la dernière opération a réussi et FALSE si elle a échoué.

$ erreur

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Contient un tableau d'objets d'erreur qui représentent les erreurs les plus récentes. L'erreur la plus récente est le premier objet d'erreur du tableau ($ Error [0]).

Pour éviter qu'une erreur ne soit ajoutée au tableau $ Error, utilisez le paramètre commun ErrorAction avec une valeur Ignore. Pour plus d'informations, consultez about_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow