本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/11/08/powershell%E7%9A%84%E8%84%9A%E6%9C%AC%E6%89%A7%E8%A1%8C%E7%AD%96%E7%95%A5/
摘要
本文主要讲述了:
- 作用
- 执行策略
- 作用域
正文
作用
防止用户在无意间执行恶意脚本。
注意:Windows 可以区分文件是本地创建的还是从网上下载的
示例:查询脚本执行策略
1 | Get-ExecutionPolicy -List |
示例:为当前用户修改脚本执行策略
1 | Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
执行策略
Restricted
禁止执行任何脚本文件。尝试执行脚本会报错。
Windows 客户端的默认策略。
AllSigned
只能执行拥有数字签名的脚本。尝试执行不含数字签名的脚本会报错。
RemoteSigned
从网上下载的脚本必须拥有数字签名才能执行,本地的脚本不需要数字签名也能执行。尝试执行从网上下载的脚本会报错。
Windows 服务器端的默认策略。
Unrestricted
所有脚本都能执行。尝试执行从网上下载的脚本会警告,但用户仍可忽略警告选择继续执行。
非 Windows 用户的默认策略且不可更改。
Bypass
全部放行,不报错不警告
Undefined
未配置执行策略
- 对于 Windows 客户端来说,
Undefined
等同于Restricted
- 对于 Windows 服务器端来说,
Undefined
等同于RemoteSigned
作用域
Process
影响当前进程。
配置保存在环境变量中。
CurrentUser
影响当前用户。
配置保存在注册表中。
LocalMachine
影响当前计算机上的所有用户。
配置保存在注册表中。