我使用invoke-command使用MS powershell脚本检查我的组织工作站是否存在Meltdown / Spectre漏洞。一切顺利,但一个工作站抛出了错误。
我能够发现,在进入powershell远程会话时,此特定工作站的会话处于“ConstrainedLanguage”模式。
[workstation]: PS [..]> $ExecutionContext.SessionState.LanguageMode
ConstrainedLanguage
其他工作工作站在进入远程PowerShell会话时具有“FullLanguage”模式。
我们将活动目录和组策略应用于所有工作站,我将应用的gpo设置与此计算机进行了比较,它与其他设备相同。
当我已经处于约束模式时,我无法更改为完全模式。
$ExecutionContext.SessionState.LanguageMode = "Fulllanguage"
Cannot set property. Property setting is supported only on core types in this language mode.
我们有一个策略允许在TEMP文件夹中创建* .psm1文件,以允许powershell在Fulllanguage模式下工作。
任何人都可以建议为什么只有一个特定工作站具有约束模式而其他工作站没有。我找不到任何线索,我也无法改变它。我用Google搜索了两天,找不到任何相关信息。谢谢。
编辑: 我甚至尝试删除该远程工作站上的默认会话配置“microsoft.powershell”,并按照about_remote_troubleshooting中的说明使用Enable-PSRemoting重新创建它。但结果是一样的,会话有Constrained语言模式。我很茫然。
答案 0 :(得分:0)
你是如何远程连接该服务器的?
您是否连接到自定义PowerShell端点?
如果是,则可以通过将-LanguageMode
设置为Constrained
答案 1 :(得分:0)
您可以将Env变量__PSLockdownPolicy值强制为0以返回FullLanguage模式,显然需要重新启动现有会话(如果有)。