我们可以更改PowerShell会话的LanguageMode吗?

jya*_*yao 5 powershell

我目前的环境是使用PowerShell V5的Windows 7企业版(SP1)

PSVersion = 5.0.10586.117

不知何故,当我尝试运行以下语句时(之前它运行良好)

new-object System.Net.WebClient
Run Code Online (Sandbox Code Playgroud)

我开始收到以下错误

无法创建类型. 此语言模式仅支持核心类型

我检查了

$ExecutionContext.SessionState.LanguageMode
Run Code Online (Sandbox Code Playgroud)

结果是:ConstrainedLanguage

我现在对如何将此LanguageMode更改为此URL中提到的"FullLanguage"感到茫然

我GOOGLE了四周,没有看到任何有关我的环境,我看到最接近的链接是这里在MS TechNet论坛.但在我的情况下,我不认为它是启用AppLocker(或者我是否必须要求我的网络管理员检查组策略?)并且我在本地计算机上也没有看到任何SRP(软件限制策略).

有人可以告诉我如何解决这个问题或如何检查导致这个LanguageMode更改的各个方面?或者有没有办法可以编辑LangugageMode值?在此先感谢您的帮助.

jya*_*yao 0

好吧,经过多次尝试,我终于明白了原因。大约 10 天前,我将 WMF 5.0 生产预览更新为 WMF 5.0 Production RTM,但从那时起,我没有运行任何脚本,包括

new-object System.Net.WebClient
Run Code Online (Sandbox Code Playgroud)

因此,我从未遇到过提到的错误。

卸载此 WMF 5.0 Prod RTM 版本后,我现在使用 PS 版本 4。

PS版本 = 4.0

当我跑步时

$ExecutionContext.SessionState.LanguageMode
Run Code Online (Sandbox Code Playgroud)

我得到“FullLanguage”值,如下所示

PS 会话的语言模式

所以我认为这是 WMF 5.0 到 Windows 7.0 的一个错误,MS 应该修复它。

我用 Win 10 操作系统和 WMF 5.0 RTM 检查了我的计算机,语言模式仍然是“FullLanguage”。

[编辑]:2016年11月25日

我想我需要更新这个答案,因为发生错误并且我降级到V4,它解决了问题,可能又两周后,我重新安装了WMF 5.0(我相信下载的文件与我最初下载的文件不同)因为下载链接不同),现在这也解决了问题,即在PS V5.0中,错误不再出现。这是我当前的环境

在此输入图像描述