更改 PowerShell 腳本執行的執行策略的逐步指南
- 若要修改 PowerShell 執行策略,請啟動PowerShell (admin)並執行指令「Set-ExecutionPolicy RemoteSigned」以啟用腳本執行。或者,“Set-ExecutionPolicy AllSigned”指令僅允許來自經過驗證的發布者的腳本。另一方面,“Set-ExecutionPolicy Unrestricted”指令允許所有腳本自由執行。
- 如果您希望恢復為預設設置,請使用「Set-ExecutionPolicy Restricted」命令完全禁止腳本執行。
- 您也可以透過 Windows 10 或 11 設定應用程式調整 PowerShell 腳本權限。
預設情況下,在 Windows 10 或 11 上,嘗試在 PowerShell 中執行腳本可能會導致錯誤訊息,指出「無法加載,因為在此系統上停用了執行腳本」。發生此錯誤的原因是為了安全而製定的執行策略,該策略控制腳本和設定檔的執行方式以避免系統上的惡意活動。
若要在這些作業系統上執行腳本,您可以選擇變更本機電腦、目前使用者或會話本身的執行策略。
當為目前使用者或本機設定執行政策時,此資訊會儲存在 Windows 登錄中。但是,如果您僅為會話設定策略,則該變更只會持續到您關閉 PowerShell 為止。
正如微軟所言,這些執行策略不會對活動施加限制。您可以透過直接在命令列中輸入腳本來暫時規避它們。這些政策背後的目的是幫助使用者避免執行有害腳本。
本指南將提供有關修改執行策略的詳細說明,以便在 Windows 10 或 11 上的 PowerShell 中成功執行腳本。
透過PowerShell修改Windows 11上的執行策略
若要變更 Windows 10 或 11 上的 PowerShell 執行策略,請執行下列步驟:
-
在 Windows 11 裝置上點選「開始」 。
-
搜尋PowerShell,右鍵點擊頂部結果,然後選擇以管理員身份執行。
-
輸入以下指令查看目前的執行策略,然後按Enter:
Get-ExecutionPolicy
-
(可選)若要列出有效的 PowerShell 執行策略,請鍵入以下命令並按下Enter:
Get-ExecutionPolicy -List
-
若要允許腳本在 Windows 11 電腦上執行,請輸入以下命令並按Enter:
Set-ExecutionPolicy RemoteSigned
-
(可選)要阻止任何腳本執行,您可以輸入以下命令並按Enter:
Set-ExecutionPolicy Restricted
完成這些步驟後,您應該能夠在 Windows 11 上成功執行腳本。
如果您需要設定執行原則以僅允許目前使用者或本機裝置執行腳本,您可以在命令中使用「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 10 和 11 上,您也可以透過「設定」套用變更 PowerShell 腳本權限。
對於 Windows 11
若要使用「設定」應用程式更新執行策略,請執行下列步驟:
-
打開設定。
-
選擇系統。
-
轉到針對開發人員部分。
-
點選PowerShell選項。
-
啟動「變更執行策略以允許本機 PowerShell 腳本 […]」切換。
如果您決定不再啟用此選項,只需按照相同的步驟操作,然後在步驟 5中停用切換開關即可。
對於 Windows 10
若要透過「設定」套用更新 PowerShell 執行策略,請執行下列步驟:
-
打開設定。
-
選擇更新和安全性。
-
導航至“針對開發人員”部分。
-
在 PowerShell 設定中啟用「變更執行原則以允許本機 PowerShell 腳本 […]」選項。
-
點選“應用”按鈕儲存變更。
如果您希望停用此功能,請重複相同的步驟,但在步驟 4中,停用該選項並套用您的變更。
完成這些步驟後,PowerShell 執行策略將設定為“RemoteSigned”,讓您無需簽名即可執行本機腳本,同時堅持對遠端腳本進行驗證。
修改執行策略以執行未簽署的腳本
如果您遇到源自另一台電腦或線上下載的 PowerShell 腳本,嘗試執行它可能會產生錯誤,指出「無法載入檔案 […].ps1。文件 […].ps1 未經數位簽署。您無法在目前系統上執行此腳本」 ,或「該腳本不會在系統上執行」。但是,如果您確定其安全性且來源可靠,則可以調整「進程」範圍原則以授權其執行。
若要變更 PowerShell 執行原則以允許執行非數位簽章的「.ps1」腳本,請執行下列步驟:
-
打開開始。
-
搜尋PowerShell,右鍵點擊頂部結果,然後選擇以管理員身份執行。
-
若要修改政策並允許未簽署的 PowerShell 腳本,請輸入以下命令並按Enter:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\Your-PowerShell-Script.ps1
執行這些步驟後,在目前會話期間使用命令執行腳本檔案。請注意,一旦關閉 PowerShell 會話,執行策略將重設為先前的狀態,從而防止其他腳本運行而無需進一步調整。
如果您需要執行另一個腳本,可以重複概述的步驟。
2024 年 10 月 10 日更新:本指南已進行修訂,以確保準確性並反映流程中的最新調整。
發佈留言