Ongelman ilmenemistapa
Kun olet asentanut huhtikuun 2021 suojauspäivityksen (tai uudemmat päivitykset) Microsoft Exchange Server 2019:lle, 2016:lle tai 2013:lle, sovellukset alkavat palauttaa jotakin seuraavista virhesanomista:
Huomautus
- Viesti 1
- Tämä suoritustila ei tue syntaksia. Näin voi käydä, jos suoritustila on kielettömässä tilassa.
- Viesti 2
- Tapahtui poikkeus System.Management.Automation.RemoteException: Tämä suoritustila ei tue syntaksia. Näin voi käydä, jos suoritustila on kielettömässä tilassa. at System.Management.Automation.Runspaces.AsyncResult.EndInvoke() at System.Management.Automation.PowerShell.CoreInvokeRemoteHelper[TInput,TOutput](PSDataCollection'1 input, PSDataCollection'1 output,
Tässä tilanteessa sovellus ei nouda tietoja Remote PowerShellin kautta palvelimesta, jossa on käytössä Exchange Server. Joissakin tapauksissa sovellus lakkaa vastaamasta.
Syy
Exchange-hallintakonsolin päätepiste Exchange-pohjaisessa palvelimessa muutettiin FullLanguage-tilasta NoLanguage-tilaan. Sovellukset, jotka käyttävät PowerShell-etäkäyttöisen FullLanguage-tilan ominaisuuksia, kohtaavat nyt ongelman oireet -osassa kuvatun virheen käsitellessään PowerShell-etäkutsuja.
Ratkaisu
Tämän ongelman ratkaisemiseksi sovelluksen kehittäjän on päivitettävä sovellus toimimaan Exchange-liittymän uuden, rajoittavamman tilan kanssa.
Lisäksi suosittelemme jompaakumpaa seuraavista ratkaisuista:
- Varmista, että kaikissa käytössä
.invoke()olevissa puheluissa käytetään myös.AddScript()..AddCommand()Lisätietoja on about_Language_Modes ohjeissa – PowerShell | Microsoft Docs. - Ota tuotu istunto käyttöön
.invoke(). Lisätietoja on GitHubin artikkelissa David-Barrett-MS/ExchangePowerShellAutomationSample . Tällä verkkosivulla on esimerkkisovellus, jossa havainnollistetaan, miten voit muodostaa yhteyden Exchange Remote PowerShelliin ja suorittaa cmdlet-komentoja ohjelmallisesti.
Lisätietoja
Lisätietoja huhtikuun 2021 suojauspäivityksistä on seuraavassa Exchange Team -blogiartikkelissa: