我对 PowerShell 还是很陌生,最近在一篇关于创建和使用 PowerShell 脚本的博客文章中读到了这篇文章。
为防止执行恶意脚本,PowerShell 强制执行执行策略。默认情况下,执行策略设置为 Restricted,这意味着 PowerShell 脚本不会运行。您可以使用以下 cmdlet 确定当前执行策略:
Get-ExecutionPolicy
您可以使用的执行策略是:
- 受限- 脚本不会运行。
- RemoteSigned - 本地创建的脚本将运行,但从 Internet 下载的脚本不会运行(除非它们由受信任的发布者进行数字签名)。
- AllSigned - 只有在受信任的发布者签名后,脚本才会运行。
- 不受限制- 无论脚本来自何处以及是否已签名,脚本都将运行。
您可以使用以下 cmdlet 设置 PowerShell 的执行策略:
Set-ExecutionPolicy <policy name>
对我来说,远程签名的描述中“除非它们是由受信任的发布者进行数字签名”的符号似乎暗示它与 AllSigned 的操作相同。我在某处缺少什么区别吗?