У меня есть WebApp и Webjob в Azure. Моя веб-задача пытается запустить некоторые сценарии PowerShell, используя PowerShell.Create()
, затем ps.AddScript(script)
и ps.Invoke()
.
В моей локальной среде веб-задание работает хорошо, и все сценарии ps выполняются правильно. Но в веб-заданиях Azure возникает следующая ошибка:
One or more errors occurred. (File D:\local\Temp...\Login.ps1 cannot be loaded because running scripts are disabled on this system. For more information, see about_Execution_Policies.
После этого я пытаюсь установить политику выполнения как ограниченную, но эта команда не работает в консоли Azure.
Моя текущая политика выполнения:
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine RemoteSigned
Я пробовал следующие способы изменить политику выполнения (я запускаю все команды в консоли портала Azure):
Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy : Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\M
icrosoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied. To change the
execution policy for the default (LocalMachine) scope, start Windows
PowerShell with the "Run as administrator" option.
Но я не знаю, как запустить консоль в Azure от имени администратора.
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Set-Executionpolicy : The specified registry key does not exist.
At line:1 char:1
+ Set-Executionpolicy -Scope CurrentUser -ExecutionPolicy UnRestricted
Как изменить ExecutionPolicy в Azure? Или как избежать проблемы с отключением скриптов ps? Пожалуйста помогите!)
Azure Shell (я думаю, вы имеете в виду это с Azure Portal Console) не имеет ничего общего с вашей службой приложений Azure. Вы пробовали установка политики в коде C# вместо этого?
Вы можете попробовать запустить powershell с помощью
-ExecutionPolicy Bypass
?