PowerShell ExecutionPolicy更改旁路

时间:2017-03-20 07:02:01

标签: powershell batch-file

我创建了一个powershell脚本并安排它每个月运行一次,但是当我尝试手动运行脚本时,它始终会提示政策更改:

enter image description here

当我按下回车键并且大约1小时后它仍然会出现提示

我已经将ExecutionPolicy设置为Unrestricted但是我听说Unrestricted仍然有来自未编辑脚本的提示,我该如何绕过提示

或者无论如何都要通过批处理文件运行.ps1并绕过executionpolicy?

谢谢

2 个答案:

答案 0 :(得分:4)

只有三种方法可以做到这一点:

  1. 在选择的机器上手动完成。
  2. 使用组策略在所有计算机或所选计算机上启用它
  3. 使用.bat文件从中执行脚本。
  4. 选项1:

    Set-ExecutionPolicy $POLICY -Force
    

    Restricted - 无法运行任何脚本。 Windows PowerShell只能在交互模式下使用。

    AllSigned - 只能运行受信任发布者签名的脚本。

    RemoteSigned - 下载的脚本必须由受信任的发布者签名才能运行。

    Unrestricted - 没有限制;可以运行所有Windows PowerShell脚本。

    选项2:

    1. 在“计算机配置”下导航到“策略”\“管理模板”\“Windows组件”\“Windows PowerShell”。您应该看到一个名为“启用脚本执行”的设置
    2. 双击该设置。您需要启用它并从下拉列表中选择一个选项。
    3. 选择您选择的政策。 AllSigned,RemoteSigned和Unrestricted
    4. GPO是安全的,但它也可以非常快速地变得不安全。在投入生产之前,请确保测试新的GPO。
    5. 选项3:

      在.bat文件中运行folling

      powershell.exe -executionpolicy bypass -windowstyle hidden -noninteractive -nologo -file "name_of_script.ps1"
      

      希望这有助于您找到所需的答案。

答案 1 :(得分:0)