更改 PowerShell 腳本執行的執行策略的逐步指南

更改 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 執行策略,請執行下列步驟:

  1. 在 Windows 11 裝置上點選「開始」 。

  2. 搜尋PowerShell,右鍵點擊頂部結果,然後選擇以管理員身份執行

  3. 輸入以下指令查看目前的執行策略,然後按Enter

    Get-ExecutionPolicy

  4. (可選)若要列出有效的 PowerShell 執行策略,請鍵入以下命令並按下Enter

    Get-ExecutionPolicy -List

  5. 若要允許腳本在 Windows 11 電腦上執行,請輸入以下命令並按Enter

    Set-ExecutionPolicy RemoteSigned

  6. (可選)要阻止任何腳本執行,您可以輸入以下命令並按Enter

    Set-ExecutionPolicy Restricted
    PowerShell變更執行策略

完成這些步驟後,您應該能夠在 Windows 11 上成功執行腳本。

如果您需要設定執行原則以僅允許目前使用者或本機裝置執行腳本,您可以在命令中使用「Scope」選項,如下所示:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

在 Windows 11 上,您有四種執行策略來控制哪些腳本可以執行:

  • 受限制 —阻止所有腳本執行。
  • RemoteSigned —允許本機建立的腳本,但要求來自其他電腦的腳本由受信任的發布者簽署。
  • AllSigned —允許所有腳本,前提是它們由可信來源簽署。
  • 無限制 —允許任何腳本不受限制地運行。

如果您的腳本不需要特定參數且不提供輸出,則可能不需要更改執行策略。相反,您可以利用該命令PowerShell.exe -File "FILENAME"-ExecutionPolicy Bypass來繞過限制。

透過「設定」修改 Windows 11 上的執行策略

在 Windows 10 和 11 上,您也可以透過「設定」套用變更 PowerShell 腳本權限。

對於 Windows 11

若要使用「設定」應用程式更新執行策略,請執行下列步驟:

  1. 打開設定

  2. 選擇系統

  3. 轉到針對開發人員部分。

  4. 點選PowerShell選項。

  5. 啟動「變更執行策略以允許本機 PowerShell 腳本 […]」切換。

    Windows 11 設定變更 PowerShell 執行

如果您決定不再啟用此選項,只需按照相同的步驟操作,然後在步驟 5中停用切換開關即可。

對於 Windows 10

若要透過「設定」套用更新 PowerShell 執行策略,請執行下列步驟:

  1. 打開設定

  2. 選擇更新和安全性

  3. 導航至“針對開發人員”部分。

  4. 在 PowerShell 設定中啟用「變更執行原則以允許本機 PowerShell 腳本 […]」選項。

    Windows 10 設定變更 PowerShell 執行

  5. 點選“應用”按鈕儲存變更。

如果您希望停用此功能,請重複相同的步驟,但在步驟 4中,停用該選項並套用您的變更。

完成這些步驟後,PowerShell 執行策略將設定為“RemoteSigned”,讓您無需簽名即可執行本機腳本,同時堅持對遠端腳本進行驗證。

修改執行策略以執行未簽署的腳本

如果您遇到源自另一台電腦或線上下載的 PowerShell 腳本,嘗試執行它可能會產生錯誤,指出「無法載入檔案 […].ps1。文件 […].ps1 未經數位簽署。您無法在目前系統上執行此腳本」 ,「該腳本不會在系統上執行」。但是,如果您確定其安全性且來源可靠,則可以調整「進程」範圍原則以授權其執行。

PowerShell 腳本未經過數位簽章錯誤
PowerShell 腳本未經過數位簽章錯誤/圖:Mauro Huculak

若要變更 PowerShell 執行原則以允許執行非數位簽章的「.ps1」腳本,請執行下列步驟:

  1. 打開開始

  2. 搜尋PowerShell,右鍵點擊頂部結果,然後選擇以管理員身份執行

  3. 若要修改政策並允許未簽署的 PowerShell 腳本,請輸入以下命令並按Enter

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    PowerShell 允許未經數位簽章的腳本

.\Your-PowerShell-Script.ps1執行這些步驟後,在目前會話期間使用命令執行腳本檔案。請注意,一旦關閉 PowerShell 會話,執行策略將重設為先前的狀態,從而防止其他腳本運行而無需進一步調整。

如果您需要執行另一個腳本,可以重複概述的步驟。

2024 年 10 月 10 日更新:本指南已進行修訂,以確保準確性並反映流程中的最新調整。

來源

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *