Chaque fois que j'ai besoin de référencer un module ou un script commun, j'aime utiliser des chemins relatifs au fichier de script actuel. De cette façon, mon script peut toujours trouver d'autres scripts dans la bibliothèque.
Alors, quelle est la meilleure façon standard de déterminer le répertoire du script actuel? Actuellement, je fais:
$MyDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)
Je sais que dans les modules (.psm1), vous pouvez utiliser $PSScriptRoot
pour obtenir ces informations, mais cela n'est pas défini dans les scripts réguliers (c'est-à-dire les fichiers .ps1).
Quelle est la manière canonique d'obtenir l'emplacement du fichier de script PowerShell actuel?