Symptom
När du har installerat säkerhetsuppdateringen i april 2021 (eller senare uppdateringar) för Microsoft Exchange Server 2019, 2016 eller 2013 börjar program returnera något av följande felmeddelanden:
Obs
- Meddelande 1
- Syntaxen stöds inte av det här runspacet. Detta kan inträffa om körningsutrymmet är i icke-språkläge.
- Meddelande 2
- Undantaget inträffade System.Management.Automation.RemoteException: Syntaxen stöds inte av det här runspacet. Detta kan inträffa om körningsutrymmet är i icke-språkläge. at System.Management.Automation.Runspaces.AsyncResult.EndInvoke() at System.Management.Automation.PowerShell.CoreInvokeRemoteHelper[TInput,TOutput](PSDataCollection'1 input, PSDataCollection'1 output,
I det här fallet hämtar programmet inte information via Remote PowerShell från servern som kör Exchange Server. I vissa fall slutar programmet att svara.
Orsak
Exchange Management Console-slutpunkten på den Exchange-baserade servern ändrades från FullLanguage-läge till NoLanguage-läge. Program som använder FullLanguage-lägesfunktionerna i Remote PowerShell får nu det fel som beskrivs i avsnittet "Symptom" när de bearbetar Remote PowerShell-anrop.
Lösning
För att lösa problemet måste programutvecklaren uppdatera programmet så att det fungerar med det nya, mer restriktiva tillståndet för Exchange Shell.
Dessutom rekommenderar vi att du använder någon av följande lösningar:
- Se till att alla samtal som använder
.invoke()också.AddCommand()använder och inte.AddScript(). Mer information finns i vägledningen från about_Language_Modes – PowerShell | Microsoft Docs. - Implementera en importerad session i stället för att använda
.invoke(). Mer information finns i David-Barrett-MS/ExchangePowerShellAutomationSample på GitHub. Den här webbsidan innehåller ett exempelprogram som visar hur du ansluter till Exchange Remote PowerShell och kör cmdlets programmatiskt.
Mer information
Mer information om säkerhetsuppdateringarna för april 2021 finns i följande artikel i Exchange-teamets blogg: