Simptome
Kada instalirate bezbednosnu ispravku iz aprila 2021. (ili novije ispravke) za Microsoft Exchange Server 2019, 2016 ili 2013, aplikacije počinju da vraćaju jednu od sledećih poruka o grešci:
Poruka 1
Ovaj runspace ne podržava sintaksu. Do ovoga može doći ako je runspace u režimu bez jezika.
Poruka 2
Došlo je do izuzetka System.Management.Automation.RemoteException: Ovaj runspace ne podržava sintaksu. Do ovoga može doći ako je runspace u režimu bez jezika. at System.Management.Automation.Runspaces.AsyncResult.EndInvoke() at System.Management.Automation.PowerShell.CoreInvokeRemoteHelper[TInput,TOutput](PSDataCollection'1 input, PSDataCollection'1 out,
U ovom slučaju, aplikacija ne preuzima informacije putem daljinskog programa PowerShell sa servera na kojem Exchange server. U nekim slučajevima, aplikacija prestaje da se odaziva.
Izazvati
Krajnja tačka Exchange Management Console serveru zasnovanom na sistemu Exchange promenjena je iz režima "FullLanguage" u "NoLanguage" režim. Aplikacije koje koriste funkcije režima punenguže udaljenog programa PowerShell sada nailaže na grešku koja je opisana u odeljku "Simptomi" kada obrađuju pozive udaljenog programa PowerShell.
Rezoluciju
Da bi rešio ovaj problem, projektant aplikacije mora da ažurira aplikaciju tako da radi sa novim, restriktivnijim stanjem programa Exchange Shell.
Pored toga, preporučujemo da koristite bilo koje od sledećih rešenja:
-
Uverite se da svi pozivi .invoke() koriste .AddCommand() , a ne .AddScript(). Za više informacija pregledajte uputstva iz članka about_Language_Modes – PowerShell | Microsoft Docs.
-
Primenite uvezene sesije umesto da koristite .invoke(). Više informacija potražite u članku David-Barrett-MS/ExchangePowerShellAutomationSample u usluzi GitHub. Ova veb stranica pruža uzorak aplikacije koji pokazuje kako da se povežete sa udaljenim programom Exchange PowerShell i programski pokrenete cmdlet komande.
Više informacija
Više informacija o bezbednosnim ispravkama iz aprila 2021. potražite u sledećem članku bloga Exchange tima: