查看 Windows PowerShell 和 AppLocker

已完成

虽然 Windows PowerShell 脚本执行策略为缺乏经验的用户提供了安全网络,但它并不十分灵活。 设置执行策略时,只能检查是否已下载脚本以及是否已对脚本进行签名。

另一种用于控制 Windows PowerShell 脚本的使用的替代方法是 AppLocker。 使用 AppLocker,可以设置各种限制来限制特定脚本或在特定位置的脚本的运行。 此外,与 AllSigned 执行策略不同,AppLocker 可以允许使用仅由特定发布者签名的脚本

Windows PowerShell 5.0 中添加了一个新的安全级别,以供使用 AppLocker 来保护脚本。 如果出于调试等目的在交互式提示下停止脚本,则在该交互式提示处输入的命令也会受到限制。 检测到“允许”模式下的 AppLocker 策略时,运行脚本时的交互式提示被限制为 ConstrainedLanguage 模式

ConstrainedLanguage 模式支持所有核心 Windows PowerShell 功能,如脚本构造。 它还支持加载 Windows 中包含的模块。 但是,它确实限制对运行任意代码和访问 Microsoft .NET 的对象的访问。 ConstrainedLanguage 模式会阻止攻击者可能用来运行未经授权的代码的向量之一

其他阅读材料:有关 ConstrainedLanguage 模式的详细信息,请参阅 Windows PowerShell 帮助中的 about_Language_Modes 或关于语言模式