症状

安装适用于 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 团队博客文章:

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×