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

Ken*_*Ken 0 powershell

我有一个运行的Power Shell脚本来停止服务,“停止/终止进程”,删除2个文件然后重新启动。

我可以在Windows 10 64位主机上完美运行此脚本-出现零问题。我尝试在我的虚拟机中运行它,但出现错误

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

因此,只是为了咯咯笑,我去看了我的组策略,但它们都没有在两台计算机上配置。

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

那么,为什么在虚拟机上而不是在主机上出现问题?

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

MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined
Run Code Online (Sandbox Code Playgroud)

在我的主机上运行

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    Unrestricted
Run Code Online (Sandbox Code Playgroud)

组策略屏幕截图

我不知道如何更改本地计算机-软件安装?

cri*_*ari 63

如果你在Windows这里,你必须遵循:

  1. [windows]按钮,然后键入PowerShell
  2. 运行为Administrator
  3. 复制并粘贴以下命令并点击[Enter]
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Run Code Online (Sandbox Code Playgroud)
  1. 输入Y并点击[Enter]
  2. 重新运行命令并输入Ahit[Enter]
  3. 关闭powershell并重试

祝你好运


小智 20

打开你的 PowerShell 并输入以下命令

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Run Code Online (Sandbox Code Playgroud)


小智 6

我在 VS?Code 上遇到了同样的问题,然后我用管理员运行检查了 cmd。没有问题所以最好使用CMD简单的方法来传递这个问题 绕过安全设置的屏幕截图


Ron*_* B. 6

问题最少的方法是使用以下命令:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Run Code Online (Sandbox Code Playgroud)

这将解决管理员用户权限问题。


Adm*_*ngs 5

我将在这里走出去,只是重新介绍一下“ 关于执行策略”的一部分

Windows客户端操作系统的默认执行策略为“受限”。这意味着脚本将不会自动运行。如果您的VM具有Windows客户端操作系统,并且从未更改过执行策略,则可能会出现问题。如果一台Windows 10计算机正常运行,则有人更改了执行策略。

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

如果您要以自己的身份登录到服务器时正在测试运行脚本,则只需打开PowerShell控制台并运行以下命令:

Set-ExecutionPolicy RemoteSigned
Run Code Online (Sandbox Code Playgroud)

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

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

Get-ExecutionPolicy -List
Run Code Online (Sandbox Code Playgroud)

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

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

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Run Code Online (Sandbox Code Playgroud)


Arj*_*jun 5

以管理员身份运行 Powershell 并运行以下命令: set-executionpolicy remotesigned