PowerShell находит путь к текущему работающему хосту (исполняемый файл PowerShell) - PullRequest
2 голосов
/ 06 января 2020

Я могу найти путь к работающему скрипту, но не могу найти путь к работающему хосту . Я хочу этого, потому что мы можем запускать PowerShell или PowerShell Core 6 или PowerShell Core 7 из заданного сценария, который может работать на Windows или Linux. Гуглить вокруг этого не очевидно (я просто получаю страницы, рассказывающие, как найти путь к запущенному скрипту). Кто-нибудь знает, как найти путь к работающему хосту?

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Чтобы определить полный путь к исполняемому файлу , который запустил процесс, в котором запускается PowerShell:

# Works with both PowerShell editions, on all platforms.
(Get-Process -Id $PID).Path

Automati c переменная $PID содержит PID (идентификатор процесса) текущего процесса.

Примечание. На Unix платформах, если PowerShell был запущен с помощью символической ссылки , в приведенном выше отчете указывается фактическое расположение исполняемого файла, а не то, что символической ссылки.

1 голос
/ 06 января 2020

Вы можете использовать:

(Get-Process Powershell).Path

или

Join-Path -Path "$($PSHOME)" -ChildPath "powershell.exe"

, чтобы получить путь работающего хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...