Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Проблема с относительным путём при запуске ярлыка на .ps1 от Админа

Ответить
Настройки темы
PowerShell - [решено] Проблема с относительным путём при запуске ярлыка на .ps1 от Админа

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Если нужно запускать файл скрипта PowerShell с помощью ярлыка на него в том же каталоге, то ярлык этот выглядит примерно так:
Код: Выделить весь код
powershell.exe -ExecutionPolicy Bypass -NoExit -NoLogo -File ".\script.ps1"
где запись .\ говорит о том, что файл скрипта находится в одном каталоге с ярлыком и путь является относительным (т.е. каталог у них может быть какой угодно).

Проблема заключается в том, что всё это работает только при запуске от текущего пользователя. Если попробовать запустить данный ярлык от имени Администратора, то трюк с относительным путём уже не сработает и скрипт просто не запустится, т.к. в качестве пути будет использоваться не каталог запуска, а %SystemRoot%\System32.

Так как же должен выглядеть ярлык, чтобы в качестве текущего (относительного) пути использовался именно каталог запуска, вне зависимости от кого он запускается?

Отправлено: 19:54, 20-03-2025

 

Старожил


Сообщения: 227
Благодарности: 21

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
Если очень требуется именно такой вариант запуска, то использовать лучше не ярлык, а батник... »
При необходимости запуская таким батником:
Код: Выделить весь код
@echo off

set "ps=" & for %%X in (powerShell.exe) do set "ps=%%~$PATH:X"
if not defined ps set "ps=%systemRoot%\system32\windowsPowerShell\v1.0\powerShell.exe"

For /F "UseBackQ delims=" %%a in (`"cmd /c "
  "%ps%" -ExecutionPolicy ByPass -NoProfile -command .\script.ps1
""`) do (
  echo %%a
)
Но, как по мне, то проще скомпилировать исполняемый exe и запускать его с любой папки.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:14, 23-03-2025 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Uragan66
Вот, кстати, про возможность создания экзешника совсем забыл. Тоже вариант, спасибо.

Отправлено: 21:54, 25-03-2025 | #12


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вспомнил, почему забыл про EXE. Антивирус может их блокировать. Причем сейчас ему пофиг, а через месяц может уже и нет. Не очень надёжно, в общем.

Отправлено: 19:37, 26-03-2025 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Проблема с относительным путём при запуске ярлыка на .ps1 от Админа

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - Можно ли запустить скрипт PS1 от имени другого пользователя? Той Серью Программное обеспечение Windows 1 13-02-2021 11:29
Проблема при запуске ncpa.cpl от имени администратора Evgeniy15 AutoIt 3 01-06-2015 19:12
Интернет - [решено] При запуске ярлыка открываются сразу 2 (два) окна IE8 goodwиn Microsoft Windows 2000/XP 38 12-05-2013 23:07
Разное - отображение страниц в браузере при запуске с ярлыка ga-lan Microsoft Windows 7 11 04-01-2013 16:34
VBS/WSH/JS - [решено] Проблема передачи параметров в скрипт при запуске из ярлыка gora Скриптовые языки администрирования Windows 1 08-09-2011 13:26




 
Переход