Symptômes
Après avoir installé le correctif de sécurité d’avril 2021(ou des mises à jour ultérieures) pour Microsoft Exchange Server 2019, 2016 ou 2013, les applications commencent à renvoyer l’un des messages d’erreur suivants :
Message 1
La syntaxe n’est pas prise en charge par cette instance d’exécution. Cela peut se produire si l’instance d’exécution est en mode sans langage.
Message 2
Une exception s’est produite System.Management.Automation.RemoteException : la syntaxe n’est pas prise en charge par cet espace d’exécution. Cela peut se produire si l’instance d’exécution est en mode sans langage. sur System.Management.Automation.Runspaces.AsyncResult.EndInvoke() sur System.Management.Automation.PowerShell.CoreInvokeRemoteHelper[TInput,TOutput](entrée PSDataCollection'1, sortie PSDataCollection'1,
Dans ce cas, l’application ne récupère pas d’informations via le PowerShell distant à partir du serveur qui exécute Exchange Server. Dans certains cas, l’application cesse de répondre.
Cause
Le point de terminaison de la console de gestion Exchange sur le serveur Exchange est passé du mode FullLanguage au mode NoLanguage. Les applications qui utilisent les fonctionnalités du mode FullLanguage du PowerShell distant rencontrent désormais l’erreur décrite dans la section » Symptômes » lorsqu’ils traitent les appels du PowerShell distant.
Résolution
Pour résoudre ce problème, le développeur d’applications doit mettre à jour l’application pour qu’elle fonctionne avec le nouvel état plus restrictif du shell d’Exchange.
En outre, nous vous recommandons d’utiliser l’une des solutions suivantes :
-
Assurez-vous que tous les appels qui .invoke() utilisent également .AddCommand() et non .AddScript(). Pour plus d’informations, consultez les instructions de about_Language_Modes - PowerShell | Microsoft Docs.
-
Implémentez une session importée au lieu d’utiliser .invoke(). Pour plus d’informations, consultez David-Git-MS/ExchangePowerShellAutomationSamplesur GitHub. Cette page web fournit un exemple d’application qui montre comment se connecter au PowerShell distant d’Exchange et exécuter des applets de commande par programmation.
Plus d’informations
Pour plus d’informations sur les correctifs de sécurité d’avril 2021, consultez l’article suivant sur le blog de l’équipe Exchange :