Quel est le meilleur moyen de déterminer l'emplacement du script PowerShell en cours d'exécution ?

Quel est le meilleur moyen de déterminer l’emplacement du script PowerShell en cours d’exécution ?


Source : Stack Overflow [powershell]

PowerShell 3+

`# This is an automatic variable set to the current file’s/module’s directory
$PSScriptRoot


**PowerShell 2**

Avant PowerShell 3, il n'existait pas de meilleure méthode que d'interroger la propriété `MyInvocation.MyCommand.Definition` pour les scripts généraux. J'avais la ligne suivante en haut de pratiquement chaque script PowerShell que j'avais :

$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition