解除安裝 Windows PowerShell 2.0 後,事件識別碼 258「無法判斷已安裝的檔案」

套用到
Exchange Server 2016 Enterprise Edition Exchange Server 2016 Standard Edition

症狀

在 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” -ConfigurationName Micr ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ FullyQualifiedErrorId: IncorrectProtocolVersion,PSSessionOpenFailed

也會記錄下列事件記錄項目:

注意

記錄檔名稱:應用程式
來源: MSExchange RBAC
日期: 日期時間
事件識別碼:258
工作類別:RBAC
層級:錯誤
關鍵字:類別
使用者:不適用
電腦: ComputerName
描述:
(處理序 8820,PID w3wp.exe) “RemotePS 公用 API 函數 GetApplicationPrivateData 擲回例外狀況 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 的累積更新 9Exchange Server 2016 的較新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語