Запуск сценария PowerShell по пути UNC с правами администратора из ярлыка - PullRequest
0 голосов
/ 07 февраля 2019

Я создал скрипт PowerShell для установки некоторых функций по требованию для наших системных администраторов по всей компании.Я создал ярлык для сценария и выбрал «Запуск от имени администратора» в дополнительных параметрах.Когда я запускаю сценарий напрямую, он запускается, но появляется сообщение об ошибке:

The requested operation requires elevation

Если я запускаю сценарий из ярлыка, появляется UAC, позволяющий ему работать от имени администратора, которого я нажимаю Да, а затем черный блок CMDвсплывает, а затем сразу закрывается.Он не отображает какую-либо часть моего сценария и не останавливается в конце, как в сценарии.В Цель ярлыка, который я поставил:

powershell.exe -ExecutionPolicy Bypass

По-прежнему та же проблема.

Если я добавлю в сценарий обход powershell.exe -ExecutionPolicy, он откроет окно Admin Powershell сверхуисходного окна, но скрипт запускается в нижнем окне.Я могу только предположить, что он запускает окно администратора обратно на C:\Windows\System32

Есть ли способ запустить команду, чтобы запустить PowerShell от имени администратора и перейти непосредственно к моему сценарию по пути UNC?

Что-то связывает это:

Запуск-процесс Powershell.exe -Verb runAs -File "\ SERVER \ Scripts \ Script.ps1"

Или есть лучший способполучить ярлык для запуска моих сценариев от имени администратора для сценария по пути UNC?

1 Ответ

0 голосов
/ 07 февраля 2019

После нескольких исследований я обнаружил проблему.Оказывается, я был прав, думая, что административный блок начинался с C: \ Windows \ System32, и не было никаких параметров, передаваемых в блок, чтобы сказать ему, что писать.После некоторых проб и ошибок вот что я получил на работу и сделал именно то, что хотел:

В ярлыке я убрал опцию «Запуск от имени администратора» в разделе «Дополнительно».Я добавил некоторые значения в Target ярлыка:

powershell -ExecutionPolicy Bypass "\\UNC\To\Script.ps1"

Это запустило скрипт запуска, который запускался в пользовательском режиме.Чтобы получить административные функции, выполняемые сценарием, я переместил эти команды в другой сценарий «AdminScript.ps1» и вызвал его из Script.pst1 следующим образом:

Start-Process powershell -Argument "-ExecutionPolicy Bypass -noexit \\UNC\Path\to\AdminScript.ps1" -Verb runAs

Затем запустилось окно «Административный Powershell» иустановите для параметра ExecutionPolicy значение Bypass, поскольку он по умолчанию запускается как Restricted.

Оттуда я смог завершить установку FoD с правами администратора.

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