PowerShell错误“在此系统上禁用了脚本的执行。”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerShell错误“在此系统上禁用了脚本的执行。”相关的知识,希望对你有一定的参考价值。

我有一个power shell脚本,用于停止服务,'停止/终止进程',删除2个文件,然后重新启动。

我可以在我的Windows 10 64位主机上完美地运行这个脚本 - 出现ZERO问题。我尝试在我的虚拟机中运行它,我收到错误

无法加载,因为在此系统上禁用了运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/上的about_Execution_Policies?LinkID = 135170

所以只是为了咯咯笑,我去看了我的组策略,他们没有配置在任何一台机器上。

管理模板> Windows组件>未配置Windows PowerShell。

那么为什么虚拟机上的问题而不是我的主机呢?

编辑Ran Get-ExecutionPolicy以及VM受限制的Get-ExecutionPolicy-List

MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined

把它放在我的主人身上

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    Unrestricted

Group Policy Screen Shot

我不知道我的本地机器是如何改变的 - 软件安装?

答案

我将在这里出去,只是重新拍摄一部分About Execution Policies

Windows客户端操作系统的默认执行策略是“受限制”。这意味着脚本不会自动运行。如果您的VM具有Windows客户端操作系统且您从未更改过执行策略,那么您的问题就是预期的。如果一台Windows 10计算机没有问题,则有人更改了执行策略。

在有问题的VM上,您需要确定运行脚本的范围(或帐户)。然后,您需要相应地设置执行策略。

如果您在自己登录服务器时测试运行脚本,那么您只需打开PowerShell控制台并运行以下命令:

Set-ExecutionPolicy RemoteSigned

然后在同一个控制台中运行该脚本。

以下命令将列出该计算机上所有作用域的执行策略:

Get-ExecutionPolicy -List

您应该比较上面的工作系统和非工作系统上的命令。您的问题可能是运行脚本的特定范围的执行策略设置。如果您阅读了我的帖子中的链接,它应该可以帮助您确定需要更改的内容。

以下将允许所有本地脚本在VM上执行,无论它们是否已签名:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

以上是关于PowerShell错误“在此系统上禁用了脚本的执行。”的主要内容,如果未能解决你的问题,请参考以下文章

powershell PowerShell错误处理

powershell PowerShell错误

powershell PowerShell:读取SQL错误日志

powershell PowerShell:来自InnerException的错误消息

Windows powershell 总是运行不了,提示第一行第一个字符错误

powershell 强大的PowerShell ping错误检查:P