如何變更執行原則以在 PowerShell 上執行腳本
- 若要變更 PowerShell 執行策略,請開啟PowerShell (admin)並執行「Set-ExecutionPolicy RemoteSigned」命令以設定執行以允許腳本。“Set-ExecutionPolicy AllSigned”命令允許來自受信任發布者的腳本。或「Set-ExecutionPolicy Unrestricted」指令允許不受限制的腳本。
- 您也可以執行“Set-ExecutionPolicy Restricted”來撤銷變更並阻止腳本執行。
- 最後,您可以透過變更 Windows 11 和 10 設定應用程式中的策略來允許 PowerShell 腳本。
在 Windows 11(或 10)上,預設情況下,當您嘗試在 PowerShell 上執行腳本時,它將失敗並顯示「無法加載,因為此系統上停用了執行腳本」錯誤訊息。這是因為PowerShell具有「執行策略」安全功能,可以控制如何載入設定檔和運行腳本,以防止惡意程式碼在系統上運行。
如果必須在 Windows 11(或 10)上執行腳本,您可以變更本機電腦、目前使用者或會話的執行策略。
當您為本機電腦和目前使用者設定PowerShell執行原則時,該資訊將儲存在登錄中。如果您為特定會話配置策略,則策略將保留在記憶體中,並在您關閉會話時遺失。
根據微軟的說法,執行策略並不限制該操作。您可以透過在命令列介面 (CLI) 中鍵入腳本來繞過該策略。執行策略旨在幫助使用者防止執行惡意腳本。
本指南將教您如何變更執行策略以在 Windows 11 或 10 上的 PowerShell 上成功執行腳本。
從 PowerShell 變更 Windows 11 上的執行策略
若要變更 Windows 11(或 10)上的 PowerShell 執行策略,請使用下列步驟:
-
在 Windows 11 上開啟「開始」 。
-
搜尋PowerShell,右鍵點擊頂部結果,然後選擇「以管理員身份執行」選項。
-
鍵入以下命令確認目前執行策略並按Enter:
Get-ExecutionPolicy
-
(可選)鍵入以下命令以查看有效的 PowerShell 執行策略並按Enter:
Get-ExecutionPolicy -List
-
鍵入以下命令以變更 PowerShell 執行原則以允許腳本在 Windows 11 上執行,然後按Enter:
Set-ExecutionPolicy RemoteSigned
-
(可選)鍵入以下命令以變更執行策略以阻止腳本運行,然後按Enter:
Set-ExecutionPolicy Restricted
完成這些步驟後,您可以再次執行該腳本,它現在應該可以在 Windows 11 上成功運行。
https://www.youtube.com/watch?v=PXwltlq6YhU
如果要變更執行原則以執行目前使用者或本機電腦的腳本,則需要使用「Scope」選項,如下所示:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
或。Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
在 Windows 11 上,您可以從四種不同的執行策略中進行選擇以允許或拒絕腳本:
- 受限制 —阻止任何腳本檔案運行。
- RemoteSigned —允許在電腦上建立腳本。但是,如果沒有可信任簽名,在其他裝置上建立的腳本將無法運作。
- AllSigned —允許所有腳本運行。但是,前提是受信任的發布者已包含簽名。
- 無限制 —不受限制地運行任何腳本。
如果您需要執行沒有所需參數且不傳回輸出的腳本,則無需變更執行策略。相反,您可以使用該PowerShell.exe -File "FILENAME"-ExecutionPolicy Bypass
命令來繞過限制。
從「設定」變更 Windows 11 上的執行策略
在 Windows 11 和 10 上,您也可以透過從「設定」套用變更命令控制台的設定來允許腳本在 PowerShell 上執行。
從 Windows 11 開始
若要從「設定」套用變更 PowerShell 執行策略,請使用下列步驟:
-
打開設定。
-
按一下“系統”。
-
按一下「面向開發人員」頁面。
-
點選PowerShell設定。
-
開啟「變更執行原則以允許本機 PowerShell 腳本 […]」切換開關。
如果您不再需要此功能,您可以使用相同的步驟來封鎖腳本,但在步驟 5中,關閉「變更執行原則以允許本機 PowerShell 腳本 […]」切換開關。
從 Windows 10
若要從「設定」套用變更 PowerShell 執行策略,請使用下列步驟:
-
打開設定。
-
點擊更新和安全性。
-
按一下「面向開發人員」頁面。
-
檢查PowerShell 設定的「變更執行原則以允許本機 PowerShell 腳本 […]」選項。
-
點選“應用”按鈕。
如果您不再需要此功能,可以使用相同的步驟來封鎖腳本,但在步驟 4中,清除「變更執行原則以允許本機 PowerShell 腳本 […]」選項並套用變更。
完成這些步驟後,該設定會將 PowerShell 的執行策略設定為「RemoteSigned」。此策略將允許您無需簽名即可運行腳本,但需要對遠端腳本進行簽名。
2024 年 7 月 12 日更新:本指南已更新,以確保準確性並反映流程的變更。
發佈留言