我们可以更改PowerShell会话的语言模式吗?

时间:2016-03-08 23:52:43

标签: powershell

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

PSVersion = 5.0.10586.117

以某种方式,当我尝试运行以下语句时(之前它运作良好)

new-object System.Net.WebClient

我开始收到以下错误

Cannot create type. Only core types are supported in this language mode

我检查了

$ExecutionContext.SessionState.LanguageMode

,结果是: ConstrainedLanguage

我现在对如何将这种LanguageMode改为" FullLanguage"而感到茫然。如URL

中所述

我用Google搜索并且没有看到任何与我的环境有关的内容,我在MS technet论坛中看到的最近的链接是here。但在我的情况下,我认为它不启用AppLocker(或者我是否必须要求我的网络管理员检查组策略?)并且我在本地计算机上也没有看到任何SRP(软件限制策略)。

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

2 个答案:

答案 0 :(得分:0)

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

new-object System.Net.WebClient

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

在我卸载此WMF 5.0 Prod RTM版本后,我现在处于PS版本4中。

PSVersion = 4.0

当我跑

$ExecutionContext.SessionState.LanguageMode

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

LanguageMode of PS Session

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

我用Win 10 OS和WMF 5.0 RTM检查了我的电脑,语言模式仍然是“FullLanguage”。

[编辑]:2016.Nov.25

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

enter image description here

答案 1 :(得分:0)

要更改语言模式,您可以使用变量:

$ExecutionContext.SessionState.LanguageMode = "FullLanguage"