Quand je lance $PSScriptRoot
il renvoie null
. J'utilise PS version 4.
$val = Join-Path -Path $PSScriptRoot WebPlatformInstaller_AMD64_en-US.msi
Erreur
Join-Path: impossible de lier l'argument au paramètre 'Path' car il s'agit d'une chaîne vide.
Si vous utilisez ISE, utilisez:
$psISE.CurrentFile.FullPath
Lorsque ISE est lancé, $ psISE est créé et peut être utilisé pour déterminer le chemin actuel de l'instance ISE. Cela a été introduit dans la version 3.0.
Voir Hiérarchie du modèle d'objet ISE
Si vous vouliez obtenir le chemin dans Shell ou ISE, vous pouvez utiliser quelque chose comme ceci:
if ($psISE)
{
Split-Path -Path $psISE.CurrentFile.FullPath
}
else
{
$global:PSScriptRoot
}
Vous devez vous assurer que cette expression se trouve dans un script .ps1 enregistré.
Cela peut se produire dans les cas suivants: