问题描述
既然不用cmd,那就要承受powershell的安全策略【斜眼笑】
为什么会有这个东西,简单来说,就是Windows为了防止恶意脚本运行造成不安全的问题
一打开powershell,就是红色的一个错误,比较烦
问题原因
PowerShell 执行策略是一项安全功能,用于控制 PowerShell 加载配置文件和运行脚本的条件。 此功能有助于防止恶意脚本的执行。
在 Windows 计算机上,可以为本地计算机、当前用户或特定会话设置执行策略。 还可使用组策略设置为计算机和用户设置执行策略。
本地计算机和当前用户的执行策略存储在注册表中。 无需在 PowerShell 配置文件中设置执行策略。 特定会话的执行策略仅存储在内存中,在会话关闭时丢失。
执行策略不是限制用户操作的安全系统。 例如,当用户无法运行脚本时,可以在命令行中键入脚本内容,从而轻松绕过策略。 相反,执行策略可帮助用户设置基本规则,并防止他们无意中违反这些规则。
在非 Windows 计算机上,默认执行策略是 Unrestricted 且无法更改。 Set-ExecutionPolicy cmdlet 可用,但 PowerShell 会显示不支持的控制台消息。 虽然 Get-ExecutionPolicy 在非 Windows 平台上返回 Unrestricted,但该行为实际上与 Bypass 匹配,因为这些平台未实施 Windows 安全区域。
默认策略:Restricted
- Windows 客户端计算机的默认执行策略。
- 允许单个命令,但不允许脚本。
- 阻止运行所有脚本文件,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 PowerShell 配置文件 (.ps1)。
问题解决
管理员模式打开shell,执行:
Set-ExecutionPolicy AllSigned
返回再次执行:
Get-ExecutionPolicy
发现返回刚才设置的属性,说明成功
当然也可以设置其他的
- RemoteSigned
- Bypass
使用Get-ExecutionPolicy -List看到不同范围的策略
5438

被折叠的 条评论
为什么被折叠?



