如果您经常使用 PowerShell 脚本,则通常需要更改 PowerShell 脚本的可执行策略。
PowerShell 执行策略是 Windows PowerShell 中的一项安全措施,用于确定如何以及是否可以在系统上执行 PowerShell 脚本(这些是扩展名为 .ps1 的文件)。它本质上是一种设置,可帮助确定允许运行哪些脚本以及在什么条件下运行。
有不同类型的执行策略:
- 受限: 这是默认设置。不允许运行脚本。
- 使用AllSigned:所有脚本必须由受信任的发布者进行数字签名才能运行。这也适用于您自己编写的脚本。
- 下RemoteSigned:从 Internet 下载的脚本必须由受信任的发布者进行数字签名。本地创建的脚本无需数字签名即可运行。
- 无限制:所有脚本都可以运行,无论它们来自何处或是否经过签名。但是,如果脚本来自 Internet,则会在执行之前向您发出警告。
- 绕道:不发出任何警告,也不提出任何问题。所有脚本的执行都没有任何限制。
- 未定义:当前范围内未设置执行策略。
这些策略旨在防止不需要的或恶意的脚本自动运行,从而提高计算机安全性。
在 Windows 11 或 10 中更改 PowerShell 执行策略
要了解当前处于活动状态的 PowerShell 策略,您可以在 PowerShell 中运行以下命令。
get-executionpolicy
然后您将立即看到哪个策略处于活动状态。这表明您是否可以运行脚本。要运行远程脚本,“RemoteSigned”策略通常适合。因此,如果您看到“Restricted”且没有“RemoteSigned”,则无法执行外部脚本。
然后,您可以通过两种方式在 PowerShell 中允许外部脚本。第一个是通过 Windows 11 设置。
通过设置
- 打开 Windows 11 设置。
- 单击“系统”。
- 单击“对于开发人员”。
- 单击“PowerShell”。
- 更改选项“更改执行策略以运行本地 PowerShell 脚本而无需签名”。远程脚本需要签名”打开。这会将策略更改为“RemoteSigned”。
通过 PowerShell 命令
允许所有 PowerShell 脚本的第二种方法是通过 PowerShell 本身。您可以在 PowerShell 中运行以下命令:
Set-executionpolicy remotesigned
如有必要,您还可以应用“范围”。这允许您为当前用户或计算机上的所有用户设置策略。命令则变为:
仅允许当前用户使用远程 PowerShell 脚本:
Set-executionpolicy remotesigned -scope currentuser
仅允许所有用户使用远程 PowerShell 脚本:
Set-executionpolicy remotesigned -scope localmachine
仅允许当前 PowerShell 进程使用外部 PowerShell 脚本
Set-executionpolicy remotesigned -scope process
我希望已经通知您这一点。感谢您的阅读!
阅读更多: