Oireet
Kun olet asentanut Microsoft Exchange Server 2019:n, 2016:n tai 2013:n huhtikuun 2021 suojauspäivityksen (tai uudemmat päivitykset), sovellukset alkavat palauttaa yhtä seuraavista virhesanomista:
Viesti 1
Tämä runspace ei tue syntaksia. Näin voi käydä, jos runspace ei ole kielitilassa.
Viesti 2
Poikkeus on ilmennyt System.Management.Automation.RemoteException: tämä runspace ei tue syntaksia. Näin voi käydä, jos runspace ei ole kielitilassa. 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 hae tietoja PowerShell-etäistuntopalvelimesta, joka on käynnissä Exchange Server. Joissakin tapauksissa sovellus lakkaa vastaamasta.
Syy
Exchange-hallintakonsoli palvelinpohjaisen Exchange päätepiste on muutettu FullLanguage-tilasta NoLanguage-tilaan. Etä-PowerShellin FullLanguage-tilaominaisuuksia käyttävät sovellukset saavat nyt virheen, joka on kuvattu Oire-osassa käsiteltäessä Etä-PowerShell-puheluja.
Ratkaisu
Ongelman ratkaisemiseksi sovelluskehittäjän on päivitettävä sovellus toimimaan käyttöliittymän uuden, rajoittavan Exchange kanssa.
Lisäksi suosittelemme, että käytät jompaakumpaa seuraavista ratkaisuista:
-
Varmista, että kaikki puhelut, joissa käytetään .invoke() , käyttävät myös .AddCommand() eivät .AddScript(). Lisätietoja on 2010-about_Language_Modes PowerShell-| Microsoft Docs.
-
Käytä tuotua istuntoa sen sijaan, että .invoke(). Lisätietoja on sivulla David-Barrett-MS/ExchangePowerShellAutomationSample GitHub. Tällä verkkosivulla on esimerkkisovellus, joka näyttää, miten voit muodostaa yhteyden Exchange PowerShelliin ja suorittaa cmdlet-komennot ohjelmallisesti.
Lisätietoja
Lisätietoja huhtikuun 2021 suojauspäivityksistä on seuraavassa työryhmän Exchange artikkelissa: