修复Windows PowerShell Cannot Be Loaded Because Running Scripts Is Disabled错误

修复Windows PowerShell Cannot Be Loaded Because Running Scripts Is Disabled错误

您正在 PowerShell 上运行一些命令,突然看到一条错误消息,内容为“PowerShell Cannot Be Loaded Because Running Scripts Is Disabled无法加载 PowerShell,因为在此系统上禁用了运行脚本。”想知道导致此问题的原因以及如何解决它? 我们将向您介绍可帮助您一劳永逸地解决此问题的简单方法。

让我们开始修复PowerShell Cannot Be Loaded Because Running Scripts Is Disabled吧!

推荐:如何修复Windows 11 This Device is Disabled Code 22错误

1.以管理员模式运行PowerShell

您当前是否在没有适当管理权限的情况下运行 PowerShell? 如果是这样,那么也许这就是问题所在。

因此,让我们探讨一下在管理员模式下运行该工具应采取的步骤:

  1. Win + X 打开快速访问菜单。
  2. 选择 Windows PowerShell (Admin) Windows PowerShell(管理员) 选项。

在快速访问菜单上选择 Windows PowerShell(管理员)选项

如果这没有帮助,请查看打开 Windows PowerShell 的各种方法。 但是您应该只关注向您展示如何使用管理权限运行该工具的方法。

2. 更改 PowerShell 中的执行策略

在某些情况下,更改执行策略可能会有所帮助。 但在我们探索解决方案之前,让我们先带您了解一下执行策略是什么以及它是如何工作的。

什么是执行策略,它是如何工作的?

执行策略是一种安全功能,可控制您在设备上运行 PowerShell 脚本的方式。 它只是确定可以运行哪些类型的脚本以及应该避免哪些类型的脚本。 最好的部分是您可以根据自己的喜好配置此策略。

以下是您在配置执行策略时可以选择的选项:

  • 受限制的:此政策禁止您运行任何 PowerShell 脚本。
  • 无限制:允许您运行任何脚本,但在您运行可疑脚本时会显示一条警告消息。
  • 远程签名:当您运行在线下载的脚本时,此策略需要数字签名。 但是,它不需要本地脚本的签名。
  • 旁路:这使您可以不受任何限制地运行任何脚本。 与“Unrestricted”策略不同,“ByPass”策略在您运行可疑脚本时不会向您显示任何警告消息。 因此,始终仅在运行合法脚本时应用此策略。
  • AllSigned:此策略仅运行由受信任的发布者签名的脚本。

现在,如果您经常使用 PowerShell,那么您可能希望不时更改执行策略。 但是,某些执行策略可能会在您运行 PowerShell 脚本时显示错误消息。

例如,启用“Restricted”、“AllSigned”或“RemoteSigned”策略可能会导致错误消息,如“运行脚本已禁用”错误。

要解决该问题,您只需将执行策略更改为“无限制”或“旁路”。 但这还不是全部; 您还需要决定政策的实施方式。 例如,您是要为所有用户应用该策略还是仅为您当前的 PowerShell 会话应用该策略?

让我们探索在更改执行策略时必须添加的所有其他 PowerShell 命令:

  • 当前用户:此策略将仅应用于当前已登录设备的人员的所有 PowerShell 会话。
  • 本地机器:适用于在设备上拥有帐户的所有用户。 此策略只能由具有管理权限的本地用户配置。
  • 过程:仅适用于当前的 PowerShell 会话。 这意味着如果您开始新会话,则必须再次执行该策略。
  • 机器策略:此政策适用于在您的设备上拥有帐户的所有用户。 但是,它只能由具有适当权限的网络管理员进行配置。 但本地管理员通常可以使用本地组策略编辑器配置此执行策略。
  • 用户政策:适用于所有 PowerShell 会话和特定用户执行的脚本。

现在一切都清楚了,让我们探讨如何执行相关策略来解决“PowerShell 无法加载”问题。

如何将执行策略更改为“不受限制”

解决当前问题的最佳方法是将执行策略更改为“不受限制”。 但在此之前,您需要检查每个执行策略是如何配置的。

以下是检查执行策略配置方式的步骤:

  1. Win + X  打开快速访问菜单。
  2. 选择  Windows PowerShell (Admin) Windows PowerShell(管理员) 从选项。
  3. 输入以下命令并按下 Enter 进入:

Get-ExecutionPolicy -List
显示执行策略列表

这应该向您展示如何为不同的用户和系统配置执行策略。

要将当前活动用户的执行策略更改为“无限制”,请键入以下命令并按 Enter进入:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser
在 PowerShell 上设置执行策略

要将所有用户的执行策略更改为“无限制”,请键入以下命令并按 Enter进入:

Set-ExecutionPolicy Unrestricted -Scope LocalMachine

完成命令运行后,关闭 PowerShell 并重新启动 PC 以保存这些更改。

如何将执行策略更改为“旁路”

“旁路”执行策略将允许您毫不费力地运行任何 PowerShell 脚本。 但请记住,它也可能允许您运行有缺陷的文件。 因此,始终仅在运行可信赖的 PowerShell 文件时配置此执行策略。

要将当前活动用户的执行策略更改为“ByPass”,请键入以下命令并按 Enter进入:

Set-ExecutionPolicy ByPass -Scope CurrentUser

要将所有用户的执行策略更改为“ByPass”,请键入以下命令并按 Enter进入:

Set-ExecutionPolicy ByPass -Scope LocalMachine

完成后,关闭 PowerShell,然后重新启动设备。

3.通过本地组策略编辑器更改执行策略

本地组策略编辑器 (LGPE) 还使您可以轻松更改执行策略。 事实上,此工具还可以帮助您配置各种系统设置或解决大量 PC 问题。

请记住,主要目的是更改执行策略,以便您能够毫不费力地运行 PowerShell 脚本。 通过这样做,您将摆脱 PowerShell 上的“运行脚本被禁用”错误。

以下是更改 LGPE 中的执行策略的方法:

  1. 输入 Edit group policy 编辑组策略 在“开始”菜单搜索栏中选择 Best match 最佳匹配. 或者,查看打开 LGPE 的各种方法。
  2. 导航 Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell
  3. 双击 Turn on Script Execution 开启脚本执行 选项。

单击打开脚本执行选项

检查 Enabled  启用 盒子。 从那里,单击 Execution Policy 执行政策 下拉菜单并选择 Allow local scripts and remote signed scripts允许本地脚本和远程签名脚本. 此选项类似于我们之前发现的“RemoteSigned”选项。

如果您想不受限制地运行所有脚本,请选择  Allow all scripts 允许所有脚本 “执行策略”下拉菜单中的选项。

从那里,单击 Apply 申请 然后点击 ok好的 保存这些更改。

4.使用注册表编辑器更改执行策略

如果其他方法没有帮助,请尝试使用注册表编辑器更改执行策略。 但是,在编辑注册表项时需要小心。 如果您调整了错误的键,那么您最终可能会损坏您的 PC。

现在,这是通过注册表编辑器更改执行策略的方法:

  1. Win + R  打开运行命令对话框。
  2. 输入 Regedit  注册 并按下  Enter 进入 打开注册表编辑器。
  3. 将以下命令复制粘贴到地址栏中,然后按 Enter 进入:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

找到  ExecutionPolicy  执行策略 右侧的值。

选择 ExecutionPolicy 值

如果该值缺失,请通过以下步骤创建它:

  1. 右键单击右侧的空白区域。
  2. 选择 New > DWORD (32-bit) Value.
  3. 将该值命名为 ExecutionPolicy执行策略 并按下 进入.

双击 ExecutionPolicy 执行策略 价值。 接下来,键入 RemoteSigned 远程签名 在“数值数据”部分。 这将允许 PowerShell 执行本地脚本和签名脚本。

或者,键入 ByPass  在“数值数据”部分。 这将允许 PowerShell 不受限制地执行任何脚本。

在“值数据”部分输入您的首选值后,按 OK 好的 保存更改。 最后,关闭注册表编辑器,然后重新启动您的设备。

不受任何限制地运行您的 PowerShell 脚本

当您突然无法在 Windows PowerShell 上执行某些命令时,这可能会非常令人沮丧。 但是,如果您遇到“PowerShell Cannot Be Loaded Because Running Scripts Is Disabled脚本已禁用”错误,我们介绍的解决方案应该会有所帮助。

现在,PowerShell 是否经常给您带来其他问题? 好吧,还有更多解决方案可以帮助您。

推荐:如何在Amazon Linux 2023上安装MariaDB


发表评论