症状

安装适用于 Microsoft Exchange Server 2019、2016 或 2013 的 2021 年 4 月安全更新 (或更高版本更新) 后,应用程序开始返回以下错误消息之一: 

消息 1

此运行空间不支持语法。 如果运行空间在非语言模式下,可能会发生这种情况。

消息 2

发生 System.Management.Automation.RemoteException 异常:此运行空间不支持语法。 如果运行空间在非语言模式下,可能会发生这种情况。 位于 System.Management.Automation.Runspaces.AsyncResult.EndInvoke () ,位于 System.Management.Automation.PowerShell.CoreInvokeRemoteHelper[TInput,TOutput] (PSDataCollection'1 输入,PSDataCollection'1 输出,

在这种情况下,应用程序不会通过远程 PowerShell 从正在运行的服务器检索Exchange Server。 在某些情况下,应用程序停止响应。

原因

基于 Exchange Exchange 管理控制台上的终结点从 FullLanguage 模式更改为 NoLanguage 模式。 使用远程 PowerShell 的 FullLanguage 模式功能的应用程序现在遇到处理远程 PowerShell 调用时"症状"部分中所述的错误。

解决方法

若要解决此问题,应用程序开发人员必须更新应用程序,以使用 Exchange Shell 的新、限制性更强状态。 

此外,我们建议使用以下任一解决方案:

  • 请确保使用 .invoke 命令的所有 () 也使用 。AddCommand () 而不是 。AddScript () 。 有关详细信息,请查看 PowerShell about_Language_Modes中的|Microsoft Docs

  • 实现导入的会话,而不是使用.invoke () 。 有关详细信息,请参阅 GitHub 上的David-Barrett-MS/ExchangePowerShellAutomationSample示例。 此网页提供了一个示例应用程序,演示如何以编程方式连接到 Exchange Remote PowerShell 并运行 cmdlet。  

更多信息

有关 2021 年 4 月安全更新的信息,请参阅以下 Exchange 团队博客文章:

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈意见!

×