【问题标题】:PowerGUI script editor does not recognize the updated powershell version?PowerGUI 脚本编辑器无法识别更新的 powershell 版本?
【发布时间】:2017-03-15 16:45:05
【问题描述】:

我安装了 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 版?

【问题讨论】:

  • 我知道您使用低级引擎版本运行 powershell。 PowerGUI 是否有可能在某处有一个开关或设置可以做到这一点?例如:stackoverflow.com/questions/13864429/…
  • 感谢您回来,不幸的是 PowerGUI 没有开关 :(
  • 您是否有可能安装了 32 位 PowerShell 的 2.0 版但安装了 64 位 PowerShell 的 4.0 版,这说明了区别?尝试运行 (x86) 版本的 PowerShell 并在那里执行 $PSVersionTable 以查看。
  • 否定,尝试运行 Powershell(x86) 但仍然显示版本 4,屏幕截图更新在原始帖子中。

标签: powershell powergui


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我认为问题可能是由于 ARS 1.7.0 中的更改导致需要 PS2 引擎,因此:

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

    许多需要 Windows PowerShell 2.0 引擎的程序启动它 自动地。这些说明包含在极少数情况下 您需要手动启动引擎。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2020-05-14
      • 1970-01-01
      • 2020-07-05
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多