当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 安全性:如何启用约束模式

作者:精品下载站 日期:2024-12-14 07:37:41 浏览:15 分类:玩电脑

PowerShell 安全性:如何启用约束模式


在这篇博文中,我将向您展示如何启用 PowerShell 约束模式。什么是约束模式?微软对此的解释如下:

ConstrainedLanguage 模式允许所有 cmdlet 和所有 PowerShell 语言元素,但它限制允许的类型。

ConstrainedLanguage 模式旨在支持 Windows RT 上的用户模式代码完整性 (UMCI)。它是 Windows RT 上唯一受支持的语言模式,但在所有受支持的系统上都可用。

UMCI 通过仅允许在基于 Windows RT 的设备上安装 Microsoft 签名和 Microsoft 认证的应用程序来保护 ARM 设备。 ConstrainedLanguage 模式可防止用户使用 PowerShell 规避或违反 UMCI。

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-7.2

点击链接了解有关这种非常特殊的 PowerShell 模式的更多信息。

现在,我想向您展示一个例子。

让我们弄清楚当前的模式,这是默认模式。

$ExecutionContext.SessionState.LanguageMode

[玩转系统] PowerShell 安全性:如何启用约束模式

默认模式是 FullLanguage。让我们尝试执行以下行。

[System.Console]::WriteLine("Hello")

有用。允许使用 .NET 类。

[玩转系统] PowerShell 安全性:如何启用约束模式

现在我将其更改为 ConstrainedLanguage。

$ExecutionContext.SessionState.LanguageMode = "ConstrainedLanguage"

我们再次执行命令。

[玩转系统] PowerShell 安全性:如何启用约束模式

这次会导致错误。在 ConstrainedLanguage 模式下,我不允许使用 .NET 类。

希望这有帮助。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯