증상
Microsoft Exchange Server 2019, 2016, 2013용 2021년 4월 또는 그 이후 보안 업데이트를 설치한 후 애플리케이션이 다음 오류 메시지 중 하나를 반환하기 시작합니다.
메시지 1
구문은 이 runspace에서 지원되지 않습니다. runspace가 언어 없음 모드인 경우 발생할 수 있습니다.
메시지 2
예외 발생 System.Management.Automation.RemoteException: 이 runspace에서 구문이 지원되지 않습니다. runspace가 언어 없음 모드인 경우 발생할 수 있습니다. 위치 System.Management.Automation.Runspaces.AsyncResult.EndInvoke(), System.Management.Automation.PowerShell.CoreInvokeRemoteHelper[TInput,TOutput](PSDataCollection`1 입력, PSDataCollection`1 출력,
이 경우 애플리케이션은 Exchange Server를 실행하는 서버에서 원격 PowerShell을 통해 정보를 검색하지 않습니다. 경우에 따라 애플리케이션이 응답을 멈춥니다.
원인
Exchange 기반 서버의 Exchange 관리 콘솔 엔드포인트가 FullLanguage 모드에서 NoLanguage 모드로 변경되었습니다. 이제 원격 PowerShell의 FullLanguage 모드 기능을 사용하는 애플리케이션에서 원격 PowerShell 호출을 처리할 때 "증상" 섹션에 설명된 오류가 발생합니다.
해결 방법
이 문제를 해결하기 위해 애플리케이션 개발자는 애플리케이션을 업데이트하여 Exchange 셸의 더 제한적인 새로운 상태로 작업해야 합니다.
또한 다음 솔루션 중 하나를 사용하는 것이 좋습니다.
-
.invoke()을(를) 사용하는 모든 호출이 .AddScript()이(가) 아니라 .AddCommand()을(를) 사용 중인지 확인합니다. 자세한 내용은 about_Language_Modes - PowerShell | Microsoft Docs의 지침을 검토하세요.
-
.invoke()을(를) 사용하는 대신 가져온 세션을 구현합니다. 자세한 내용은 GitHub의 David-Barrett-MS/ExchangePowerShellAutomationSample을 참조하세요. 이 웹 페이지에서는 Exchange 원격 PowerShell에 연결하고 cmdlet을 프로그래밍 방식으로 실행하는 방법을 보여 주는 샘플 애플리케이션을 제공합니다.
자세한 정보
2021년 4월 보안 업데이트에 대한 자세한 내용은 다음 Exchange 팀 블로그 문서를 참조하세요.