1

我安装了 ARS Shell 1.7.0 作为 ARS 6.9 的一部分,我的 MS(Windows)powershell 版本是 4(由 $PSVersionTable.PSVersion 获得,截图如下)

在此处输入图像描述 在此处输入图像描述

但是,当我在 PowerGUI 中执行相同操作时,我得到的版本是 2?这是在我将 shell 版本从 1.6.9 升级到 1.7 之后开始的(PowerGUI 在 1.6.9 上运行良好)。我不知道为什么会发生这种情况,因此我无法在 PowerGUI 编辑器中使用任何任务 cmdlet,这使得调试我的脚本成为一项不可能完成的任务!

PowerGUI 截图:

在此处输入图像描述

当我尝试从 PowerGUI 加载 ActiveRolesManagementShell 时出现以下错误:

在此处输入图像描述

更新:尝试运行 Powershell (x86) 但结果仍然相同,谁能告诉我 PowerGUI 在世界上的哪个地方使用版本 2?

在此处输入图像描述

4

2 回答 2

1

将 PowerGUI 脚本编辑器更新到3.8版并解决了该问题。PowerGUI 现在可以识别 v4

使用 3.2 版的人应该记下它。

于 2017-03-15T08:45:05.287 回答
0

我认为这个问题可能是由于 ARS 1.7.0 的变化导致需要 PS2 引擎,根据这个:

Windows PowerShell 4.0 和 Windows PowerShell 3.0 旨在向后兼容 Windows PowerShell 2.0。为 Windows PowerShell 2.0 编写的 Cmdlet、提供程序、管理单元、模块和脚本在 Windows PowerShell 4.0 和 Windows PowerShell 3.0 中运行不变。 但是,由于 Microsoft .NET Framework 4 中运行时激活策略的更改,为 Windows PowerShell 2.0 编写并使用公共语言运行时 (CLR) 2.0 编译的 Windows PowerShell 宿主程序无法在 Windows PowerShell 3.0 或 Windows PowerShell 中运行而不进行修改4.0,使用 CLR 4.0 编译。Windows PowerShell 2.0 引擎仅在现有脚本或主机程序因与 Windows PowerShell 4.0、Windows PowerShell 3.0 或 Microsoft .NET Framework 4 不兼容而无法运行时使用。预计这种情况很少见。

许多需要 Windows PowerShell 2.0 引擎的程序会自动启动它。这些说明适用于需要手动启动发动机的极少数情况。

于 2017-03-01T08:59:39.840 回答