如何在Windows PowerShell中启用和使用脚本执行策略

User avatar placeholder
Автор сяо
2023年9月23日

如何在Windows PowerShell中启用和使用脚本执行策略

默认情况下,iPowerShell 允许您通过其控制台运行命令 (cmdlet)。 要执行脚本,您可以使用脚本代码创建一个记事本文件,使用 .ps1 文件扩展名保存它,然后通过 PowerShell 控制台执行它。 也可以直接将脚本粘贴到控制台执行。

但是,如果这是您第一次通过 PowerShell执行脚本,您会遇到“正在运行的脚本已被禁用”错误。 默认情况下,禁用 PowerShell 上的脚本执行作为一项安全措施,以防止恶意脚本在您的系统上运行。 在这里,我们向您展示了在 Windows PowerShell 上启用脚本执行策略的两种方法。

рекомендуют:如何在Windows 11中启用RGB照明控制

如何检查您现有的执行策略

Powershell 设置执行策略未定义

您可以使用 PowerShell cmdlet 获取当前的执行策略。 了解您当前的执行策略对于了解您是否需要更改策略是必要的。

要获取当前用户的当前执行策略:

  1. 以管理员身份打开 Windows PowerShell。
  2. 在 PowerShell 控制台中键入以下命令并按 Enter:
    get-executionpolicy
  3. 由于您在执行脚本时遇到错误,因此返回可能会显示 Restricted 受限制的 作为您当前的执行政策。
  4. 如果您需要查看所有支持范围的执行策略:
    get-executionpolicy -list

您需要将执行策略更改为 RemoteSigned 才能运行本地脚本而不会出现错误。 您可以从“设置”应用和 PowerShell 更改执行策略。

如何使用设置应用程序启用 PowerShell 执行策略

您可以使用“设置”应用更改 PowerShell 执行策略并将其设置为 RemoteSigned。 您所要做的就是调整开发人员部分中的 PowerShell 设置,以更改执行策略以启用 PowerShell 脚本执行。

要使用设置更改执行策略:

  1. Win + I 打开设置。
  2. 打开 Privacy & Security 隐私与安全 左窗格中的选项卡。
  3. 接下来,点击 For developers 对于开发人员。
    面向开发人员的 Windows 11
  4. 点击展开 PowerShell  部分。
  5. 将开关切换到 change the execution policy to allow local PowerShell scripts to run without signing – Require signing for remote scripts更改执行策略以允许本地 PowerShell 脚本无需签名即可运行 – 远程脚本需要签名.
    启用 powershell 脚本执行 windows 11 设置
  6. 完成后,打开 PowerShell,键入 get executionpolicy 执行政策, И нажмите EnterВходить. 当前用户的执行策略现在设置为 RemoteSigned远程签名。
  7. 如果需要禁用执行策略,请切换 PowerShell 开关并将其设置为 Off.

如何使用 PowerShell 允许脚本在 PowerShell 中运行

Powershell 设置执行策略 remotesigned

您可以使用 PowerShell cmdlet 将执行策略设置为 RemoteSigned。 命令行界面使您无需使用“设置”应用程序即可轻松快速更改执行策略。

此外,设置应用程序只能启用或禁用 RemoteSigned 执行策略。 而 PowerShell 还允许您设置其他策略和范围。

要使用 PowerShell 更改执行策略:

  1. 以管理员身份打开 PowerShell。
  2. 在 PowerShell 窗口中,键入以下命令并按 EnterВходить:
    Set-ExecutionPolicy RemoteSigned
  3. 如果出现提示,请按 A 确认动作。 这将设置 RemoteSigned 远程签名 所有用户的执行策略。 如果你想为 Current User 当前用户 仅使用 Scope 参数后跟用户名。
  4. 例如,设置 RemoteSigned 远程签名 的执行政策 CurrentUser当前用户,使用以下命令:
    Set-ExecutionPolicy RemoteSgined -Scope CurrentUser
  5. 代替 当前用户 根据您的要求,在上述命令中与其他用户(范围)一起使用。

如何使用 PowerShell 删除脚本执行策略

设置执行策略未定义

如果要禁用脚本执行,请将执行策略设置为 Undefined  不明确的 使用e Set_ExecutionPolicy 命令。 这是默认状态,可防止 PowerShell 执行任何脚本。

要使用 PowerShell 禁用脚本执行:

  1. 使用提升的权限打开 PowerShell。
  2. 接下来,键入以下命令并按 enter 键以禁用所有用户的脚本执行:
    Set-ExecutionPolicy undefined
  3. 上面的命令将为所有用户设置执行策略默认值(未定义)。 如果要为特定范围禁用脚本执行,请使用以下命令:
    Set-ExecutionPolicy undefined -Scope CurrentUser
  4. 上面的命令将禁用脚本执行 CurrentUser 当前用户.

了解执行策略和范围

简单的说,PowerShell的执行策略就是控制PowerShell如何执行配置文件和脚本的策略。 预期目的是防止用户意外运行恶意脚本。 七个 PowerShell 执行策略是 Default, Restricted, RemoteSigned, AllSigned, Unrestricted, Bypass, and Undefined 默认、受限、RemoteSigned、AllSigned、不受限、旁路和未定义.

下表简要说明了所有 PowerShell 执行策略:

执行政策执法
默认将默认执行策略设置为 Restricted on Windows Client 和 RemoteSigned on Windows Server。
AllSigned允许执行发布者签名的脚本。
旁路不受限制地执行大型应用程序的脚本。
远程签名允许本地编写的脚本执行。 从 Internet 下载的脚本需要数字签名。
受限制的不允许脚本执行,但只允许执行单个 PowerShell 命令。
不明确的将执行策略设置为 Restricted for Windows clients 和 RemoteSigned for Windows Server。
无限制允许执行未签名的脚本,并对从 Internet 下载的脚本发出警告。

执行策略范围

您可以在 PowerShell 中为特定范围设置执行策略。 五个执行策略范围是 MachinePolicy, UserPolicy, Process, CurrentUser, 本地机器.

下表简要说明了所有执行策略范围:

执行策略范围执法
用户策略由当前用户的组策略配置。
机器政策由所有用户的组策略配置。
当前用户为当前用户配置并存储在 HKEY_CURRENT_MACHINE 注册表子项中。
本地机器为所有用户配置并存储在 HKEY_CURRENT_MACHINE 注册表子项中。
过程影响当前的 PowerShell 会话并在会话关闭时自动删除。

在 Windows 上添加或删除 PowerShell 脚本执行策略

Windows 客户端默认禁用 PowerShell 上的脚本执行,Windows 服务器设置为 RemoteSigned。 但是,高级用户可以更改执行策略以运行本地、已签名和未签名的 PowerShell 脚本。

或者,您可以通过将脚本粘贴到 PowerShell 控制台或将您的脚本回显到 PowerShell 标准输入来绕过 PowerShell 执行策略。 如果您想在不更改执行策略的情况下执行脚本,这将很有用。

рекомендуют:WooCommerce付款计划插件SUMO WooCommerce Payment

Image placeholder

分享WordPress主题、WordPress插件、Windows、LINUX、Android、浏览器、互联网、硬件设备等信息