无法从代码运行ps脚本。有关ExecutionPolicy的问题

时间:2019-04-09 17:21:30

标签: azure powershell

我在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脚本的问题? 请帮帮我!)

1 个答案:

答案 0 :(得分:1)

Azure Shell(我认为您是指Azure门户控制台的意思)与您的Azure应用服务无关。您是否尝试过setting the policy in C# code