J'ai récemment rencontré un problème dans lequel Powershell (et uniquement Powershell) refuse d'exécuter certains fichiers. En dehors de Powershell, comme dans l'explorateur ou dans cmd, tout fonctionne bien.
Mais dans Powershell (version 7.0.3) certains .lnk
(que j'ai do ont sur mon $env:PATHEXT
) échouent avec un ResourceUnavailable: Program '[name]' failed to run.
et certaines erreurs (sans rapport) .exe
ne semblent pas exister du tout - c'est peut-être le cas pour d'autres fichiers, mais je n'en ai pas encore remarqué.
Cela se produit, que je fournisse ou non les chemins d'accès complets aux fichiers en question et qu'ils se trouvent ou non sur mon site Web. $env:Path
.
Voici une comparaison dans cmd pour l'un des cas concernés .exe
dossiers
D:\>C:\Windows\system32\wsl.exe --list
Windows Subsystem for Linux Distributions:
Ubuntu-20.04 (Default)
D:\>pwsh -c "C:\Windows\system32\wsl.exe --list"
C:\Windows\system32\wsl.exe: The term 'C:\Windows\system32\wsl.exe' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
et voici l'une des personnes touchées .lnk
dossiers
D:\>gimp.lnk --license && echo Runs fine!
Runs fine!
D:\>pwsh -c "gimp.lnk --license && 'Runs fine!'"
ResourceUnavailable: Program 'Gimp.lnk' failed to run: Det går inte att hitta sökvägen.At line:1 char:1
+ gimp.lnk --license && 'Runs fine!'
+ ~~~~~~~~~~~~~~~~~~.
D:\>pwsh -c "& 'C:\Program Files\GIMP 2\bin\gimp-2.10.exe' <# The shortcut target #> --license && 'Runs fine!'"
Runs fine!
Edit : Mise à jour vers l'aperçu de la v7.1.0 comme suggéré dans le document cette réponse n'a résolu aucun des deux problèmes.
Que se passe-t-il ici et comment puis-je y remédier ?