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

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

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

  • 完成后,打开 PowerShell,键入 get executionpolicy 执行政策, 并按下 Enter进入. 当前用户的执行策略现在设置为 RemoteSigned远程签名。
  • 如果需要禁用执行策略,请切换 PowerShell 开关并将其设置为 Off.
  • 如何使用 PowerShell 允许脚本在 PowerShell 中运行

    您可以使用 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

    以上就是如何在Windows PowerShell中启用和使用脚本执行策略的详细内容,更多请关注慧达安全导航其它相关文章!

    点赞(0)

    评论列表 共有 0 条评论

    暂无评论
    立即
    投稿
    发表
    评论
    返回
    顶部