KB3122088 - 當 SQL Server 中的「開啟指令碼執行」原則設定為「允許所有指令碼」時,Sqlps 公用程式無法執行

Applies To
SQL Server 2012 Enterprise SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

症狀

如果您將 [開啟指令碼執行群組原則] 設定設為 [允許所有指令碼],sqlps 公用程式將無法執行,並收到下列錯誤訊息:

注意

Microsoft (R) SQL Server (R) PowerShell
版本 11.0.5058.0
版權所有 (c) 2012 Microsoft。 著作權所有,並保留一切權利。

Set-ExecutionPolicy :Windows PowerShell 已成功更新您的執行原則,但是在更特定範圍內定義的原則會覆寫設定。 由於覆寫,您的殼層將保留其目前的有效執行原則「不受限制」。 輸入「Get-ExecutionPolicy -List」以檢視您的執行原則設定。 如需詳細資訊,請參閱「Get-Help Set-ExecutionPolicy」。

At line:1 char:20
+ set-executionpolicy <<<< RemoteSigned -scope process -Force
    + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
    + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

此外,syspolicy_purge_history工作也會失敗。

注意 [開啟指令碼執行群組原則] 設定可以在群組原則管理主控台的下列位置進行設定:

系統管理範本\傳統系統管理範本\Windows 元件\Windows PowerShell

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2016 SP1 累積更新 3

SQL Server 2014 SP1 的累積更新 CU 38
        
         SQL Server 2014 SP2 的累積更新 3

SQL Server 2012 Service Pack 3 的累積更新 4

建議:安裝最新的 SQL Server 累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2016 的最新累積更新

適用於 SQL Server 2012 SP3 的最新累積更新
        
         適用於 SQL Server 2014 SP1/SP2 的最新累積更新

狀態

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

參考資料

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