PowerShell 中的 ExecutionPolicy Bypass 和 Unrestricted
本文介绍 PowerShell 中的执行策略 Bypass
和 Unrestricted
。
PowerShell 执行策略
PowerShell 是系统管理员、安全测试和黑客中最流行的脚本语言之一。Windows 是最流行的计算机操作系统。
因此,数以百万计的用户正在使用它。因此,PowerShell 用于自动化工作流程、调用 Windows API 和编写渗透测试工具。
由于 Windows 用户众多,微软采取措施添加了一些内置的安全功能。引入执行策略来确定可以在系统上执行哪种类型的 PowerShell 脚本。
这并不意味着用户被限制执行某些 PowerShell 脚本。因此,执行策略可以防止意外的脚本执行。
Bypass
和 Unrestricted
是两个重要的执行策略。这两个策略的行为非常相似。
自定义执行策略
PowerShell 用户可以轻松更改现有策略。Set-ExecutionPolicy
cmdlet 用于自定义 PowerShell 执行策略。
语法:
Set-ExecutionPolicy
[-ExecutionPolicy] <ExecutionPolicy>
[[-Scope] <ExecutionPolicyScope>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
-ExecutionPolicy
参数指定 PowerShell 执行策略,例如 Bypass
和 Unrestricted
。此外,-Scope
标志可以给出策略范围,如 Process
、CurrentUser
或 LocalMachine
。
PowerShell Bypass
策略
Bypass
策略用于跳过所有 Windows PowerShell 安全检查。风险是绕过
策略允许你在没有警告或提示的情况下运行任何 PowerShell 脚本。
因此,用户在使用 Bypass
策略时需要小心。通常,我们将此策略用于包含其安全模型的应用程序。
Bypass
执行策略可以如下所示建立。
Set-ExecutionPolicy -ExecutionPolicy Bypass
输出:
由于它允许你执行任何 PowerShell 脚本,因此 PowerShell 会警告你,因为恶意脚本可能会无意中运行并损害你的私人数据。你需要以管理员权限运行 PowerShell 才能更改执行策略。
我们可以使用 Get-ExecutionPolicy
cmdlet 确认策略更改。
Get-ExecutionPolicy -List
输出:
策略更改影响了 LocalMachine
范围。
PowerShell Unrestricted
策略
Unrestricted
策略类似于 Bypass
策略。主要区别在于 Unrestricted
策略会在执行未签名脚本之前警告你并要求正确的权限。
你可以使用 Set-ExecutionPolicy
cmdlet 设置此执行策略。
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
输出:
我们可以使用 Get-ExecutionPolicy
cmdlet 确认上述更改。
输出:
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。