![]() |
Проблема с относительным путём при запуске ярлыка на .ps1 от Админа
Если нужно запускать файл скрипта PowerShell с помощью ярлыка на него в том же каталоге, то ярлык этот выглядит примерно так:
Код:
powershell.exe -ExecutionPolicy Bypass -NoExit -NoLogo -File ".\script.ps1" Проблема заключается в том, что всё это работает только при запуске от текущего пользователя. Если попробовать запустить данный ярлык от имени Администратора, то трюк с относительным путём уже не сработает и скрипт просто не запустится, т.к. в качестве пути будет использоваться не каталог запуска, а %SystemRoot%\System32. Так как же должен выглядеть ярлык, чтобы в качестве текущего (относительного) пути использовался именно каталог запуска, вне зависимости от кого он запускается? |
Можно попробовать
Код:
$PSScriptRoot\script.ps1 или Код:
$PWD.path\script.ps1 |
Цитата:
Цитата:
тоже не поможет... Цитата:
run.bat: Код:
@echo off |
Можно попробовать вот так, поиск в профиле пользователя нужного файла и его запуск прямо из ярлыка:
Код:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -c "powershell (dir "C:\Users\Vasya\*\script.ps1" -recurse).fullname" |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Тогда как с батником вообще красота: скрипт и батник в одном каком угодно каталоге, а уже ярлык на этот батник можно разместить хоть на панели задач и запускать всего ОДНИМ кликом мыши. Цитата:
Плюс надо дать постоянное разрешение системе на запуск таких файлов, что небезопасно. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Код:
@echo off |
Uragan66
Вот, кстати, про возможность создания экзешника совсем забыл. Тоже вариант, спасибо. |
Вспомнил, почему забыл про EXE. Антивирус может их блокировать. Причем сейчас ему пофиг, а через месяц может уже и нет. Не очень надёжно, в общем.
|
Время: 00:03. |
Время: 00:03.
© OSzone.net 2001-