个性化阅读
专注于IT技术分析

如何使用PowerShell执行策略?

本文概述

执行策略是PowerShell的功能, 用于指定PowerShell加载配置文件和运行脚本的条件。

在Windows操作系统上, 我们可以为当前用户, 本地计算机或特定会话设置执行策略。当前用户和本地计算机的执行策略存储在注册表中, 而特定会话的执行策略仅存储在内存中, 当关闭会话时, 该策略将丢失。

在非Windows操作系统上, 默认执行策略不受限制。这个政策不能改变。

PowerShell执行策略

以下是PowerShell执行策略:

  • 全部签名
  • 旁路
  • 远程签名
  • 受限制的
  • 未定义
  • 无限制

全部签名

  • 只有那些脚本可以运行, 这些脚本由受信任的发布者使用数字签名签名。
  • 在运行脚本之前, 此策略会提示你确认是否信任发布者。

旁路

  • 在此政策中, 不会阻止任何内容。
  • 没有警告, 也没有提示。
  • 绕过策略主要是针对将PowerShell脚本内置到大型应用程序中的那些配置而设计的。

远程签名

  • 这是Windows Server计算机的默认执行策略。
  • 此策略要求在配置文件和脚本上有来自受信任的发布者的数字签名。这些文件和脚本是从Internet下载的, 其中包括电子邮件和即时消息传递程序。
  • 此执行策略不需要在本地计算机上编写的那些脚本上的数字签名。

受限制的

  • Windows客户端计算机默认情况下可以使用此执行策略。
  • 它不允许运行脚本, 但允许单独的命令。

未定义

  • 当前范围内未定义执行策略。

无限制

  • 这是非Windows计算机的默认执行策略。
  • 此策略将执行那些未签名的脚本。

执行策略范围

以下是执行策略范围的有效值:

  • 机器政策
  • 用户政策
  • 处理
  • 当前用户
  • 本地机器

机器政策

此范围由所有计算机用户的组策略设置。

用户政策

此范围由组策略为计算机的当前用户设置。

处理

此作用域仅影响PowerShell的当前会话。

当前用户

在此范围内, 执行策略仅影响当前范围。

本地机器

在此范围内, 执行策略会影响当前计算机上的所有用户。

管理执行策略

  • 我们可以使用以下Cmdlet来获取当前PowerShell会话的有效执行策略:
Get-ExecutionPolicy
  • 我们可以使用以下命令来获取影响当前会话的所有执行策略。并且, 使用此命令, 我们以优先顺序显示它们。
Get-ExecutionPolicy -list

上面命令的输出如下所示:

PowerShell执行策略
  • 我们可以使用-Scope参数来获取特定范围的执行策略。例如, 以下命令获取LocalMachine Scope的执行策略:
Get-ExecutionPolicy -Scope LocalMachine

上面的命令将输出显示为RemoteSigned

更改执行策略

  • 我们可以使用Set-ExecutionPolicy cmdlet更改Windows计算机上PowerShell的执行策略。你所做的更改将立即受到影响。你不需要重新启动PowerShell窗口。
  • 如果你在范围CurrentUser和LocalMachine的执行策略中进行了某些更改, 则这些更改将保存在注册表中, 并且它们将一直有效, 直到你再次更改它们为止。
  • 如果你在”流程”范围的执行策略中进行更改, 则这些更改不会保存在注册表中。
  • 以下块为你描述了用于更改执行策略的语法:
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

删除执行策略

我们可以通过将执行策略设置为Undefined来删除特定范围的执行策略。

示例:此示例删除本地计算机所有用户的执行策略。

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine

赞(0)
未经允许不得转载:srcmini » 如何使用PowerShell执行策略?

评论 抢沙发

评论前必须登录!