症狀
在 Microsoft Exchange Server 2016 環境中,當你卸載 Windows PowerShell 2.0 並安裝較新的 PowerShell 後,Exchange 管理殼無法成功開啟,並會收到以下錯誤訊息:
注意
New-PSSession: [ServerName] 處理遠端伺服器 ServerName 的資料失敗
以下錯誤訊息:[ClientAccessServer=ServerName,BackEndServer=ServerName,RequestId=RequestId,TimeStamp=DateTime]
[AuthZRequestId=AuthZRequestId][FailureCategory=AuthZ-SetupVersionInformationCorruptException]
無法從登錄檔金鑰判斷已安裝的檔案版本
「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine」。 如需詳細資訊,請參閱
about_Remote_Troubleshooting 說明主題。
At line:1 char:1
+ New-PSSession -ConnectionURI “$connectionUri” -配置名稱 Micr ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 分類資訊:OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ 完全限定錯誤識別碼 : IncorrectProtocolVersion,PSSessionOpenFailed
以下事件日誌條目亦被記錄:
注意
記錄檔名稱:應用程式
資料來源:MSExchange RBAC
日期: 日期時間
事件編號:258
任務類別:RBAC
層級:錯誤
關鍵字:類別
使用者:無資料
電腦: ComputerName
描述:
(程序 8820,PID w3wp.exe) “RemotePS API 公共 API 功能 GetApplicationPrivateData 拋出 Exception Microsoft.Exchange.Diagnostics.SetupVersionInformationCorruptException:無法從登錄檔鍵「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine」判斷已安裝檔案版本。
原因
此問題發生是因為後期版本 PowerShell 的登錄路徑被更改。
因應措施
你可以在卸載 Windows PowerShell 2.0 後再把 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine 登錄檔金鑰加回去。 最快的方式是從 Microsoft TechNet 圖庫取得登錄檔: https://gallery.technet.microsoft.com/Exchange-2016-CU1-7c843cb0。
解決方式
要解決此問題,請安裝 Exchange Server 2016 的累積更新 9 或後續的 Exchange Server 2016 累積更新。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。