我在Azure中有WebApp和Webjob。我的网络作业尝试使用PowerShell.Create()
然后使用ps.AddScript(script)
和ps.Invoke()
来运行一些Powershell脚本。
在我的本地环境中,webjob运行良好,并且所有ps脚本均正确执行。但是在Azure webjobs中引发以下失败:
发生一个或多个错误。 (无法加载文件D:\ local \ Temp ... \ Login.ps1,因为此系统上禁用了正在运行的脚本。有关更多信息,请参见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
如何在Azure中更改ExecutionPolicy?还是如何避免禁用ps脚本的问题? 请帮帮我!)
答案 0 :(得分:1)
Azure Shell(我认为您是指Azure门户控制台的意思)与您的Azure应用服务无关。您是否尝试过setting the policy in C# code?