为什么不能打开脚本文件 (为什么不能打开脚本文件呢)


根据上述提示,这是Windows限制恶意脚本的执行。

关于执行策略

PowerShell 执行策略是控制安全功能的安全功能 PowerShell 加载配置文件和操作脚本的条件。 该功能有助于防止恶意脚本的执行。

在 Windows 在计算机上,可以为本地计算机、当前用户或特定会话设置执行策略。 您还可以使用组策略为计算机和用户设置执行策略。

本地计算机和当前用户的执行策略存储在注册表中。 不需要在 PowerShell 执行策略设置在配置文件中。 特定会话的执行策略仅存储在内存中,并在会话关闭时丢失。

执行策略不是限制用户操作的安全系统。 例如,当用户无法操作脚本时,可以通过在命令行中键入脚本内容轻松绕过策略。 相反,执行策略可以帮助用户设置基本规则,防止他们无意中违反。

在非 Windows 在计算机上,默认执行策略是否存在?受限制是的,不能改变。 Set-ExecutionPolicyCmdlet 可用,但 PowerShell 不支持的控制台消息将显示。 虽然 Get-ExecutionPolicy 在非 windows 平台不返回受限制,但行为确实和回避由于这些平台没有实现匹配 Windows 安全区域。

(https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1)

改变执行策略

若要更改 Windows 计算机上的 PowerShell 请使用执行策略 Set-ExecutionPolicy cmdlet。 立即生效。 不需要重新启动 PowerShell。

若设置作用域LocalMachineCurrentUser实施策略,变更将保存在登记表中并保持有效,直至再次变更。

如果为进程如果范围内设置了执行策略,则不会保存在注册表中。 在关闭当前流程和任何子流程之前,保留执行策略。

备注

在 Windows Vista 还有更高的版本 Windows 在中间,如果要运行改变本地计算机执行策略的命令,则可以通过 "以管理员身份操作" 选项启动 PowerShell。

改变执行策略:

PowerShell

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

例如:

PowerShell

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

在特定范围内设置执行策略,请执行以下操作:

PowerShell

Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>

例如:

PowerShell

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

改变执行策略的命令可以成功,但有效的执行策略仍不会改变。

例如,为本地计算机设置执行策略的命令可能会成功,但它将被当前用户的执行策略所覆盖。

例如,为本地计算机设置执行策略的命令可能会成功,但它将被当前用户的执行策略所覆盖。

最后


可以根据微软官方修改执行策略(执行策略可以帮助你防止执行不信任的脚本。改变执行策略可能会产生安全风险)