預設情況下,PowerShell 限制您執行外部腳本和命令。這是由於其預設的受限執行策略。好處是,更改 PowerShell 的執行策略以允許您執行腳本比您想像的要容易。在本教程中,我們將展示兩種在 PowerShell 中設定執行策略的方法。讓我們開始吧。
如何檢查當前執行策略
按開始,輸入PowerShell,右鍵單擊它並選擇以管理員身分執行以管理員身分開啟PowerShell。在 PowerShell 視窗中,鍵入 Get-ExecutionPolicy 並按下 Enter。這將顯示您目前的執行策略。 In my case, the active policy is Restricted.
Change Execution Policy Using Settings App
On Windows 11, you can change the execution policy using the Settings應用程式.操作方法如下:

注意:Windows 10使用者可以依照第二種方法。
按Windows鍵+ I開啟Windows 11設定應用程式。開啟後,導覽至系統 > 開發人員頁。
在此頁面上,按一下PowerShell選項並開啟「變更執行原則以允許本機PowerShell腳本無需簽章即可執行」。需要遠端腳本簽章。」切換。這會將 PowerShell 執行策略設定為 RemoteSigned。
就是這樣。您現在可以執行外部腳本和指令沒有錯誤。
使用PowerShell 更改執行策略
按Windows 鍵+ X 並選擇終端機(管理員)打開終端機。Windows 10 使用者可以選擇Windows PowerShell(管理員)選項。

在PowerShell 視窗中,執行以下指令,將RemoteSigned 設定為您的使用者帳號的預設執行策略。
Set-ExecutionPolicy RemoteSigned-Scope CurrentUser
若要變更所有使用者的執行策略,請改用以下指令。
Set-ExecutionPolicy RemoteSigned-Scope LocalMachine
注意:RemoteSigned 是執行外部腳本和指令的建議執行策略。但是,您也可以設定其他值,例如下面列出的值。如果您想了解更多信息,請查看什麼是執行策略?下面的部分。
受限(預設)AllSignedUnrestrictedBypassUndefined
如果看到確認提示,請輸入A 並按下Enter 確認執行策略變更。
要驗證策略更改,請再次執行Get-ExecutionPolicy cmdlet,您應該會看到它回傳RemoteSigned。

那就是全部。更改 PowerShell 執行策略很簡單。
什麼是執行策略?
將 PowerShell 的執行策略視為腳本或設定檔執行必須滿足的一組條件。雖然執行策略可以阻止載入設定檔和執行腳本,但它不是一種安全措施,可以輕鬆繞過,如我上面所示。它只是為了防止您和其他人運行可能有害的腳本。
PowerShell 有六種執行策略。它們如下。
受限:這是所有 Windows PC 的預設執行策略,並封鎖所有腳本、模組和設定檔。但是,您可以毫無問題地執行內建 PowerShell 命令。
全部簽署:此策略要求所有腳本(包括您編寫的腳本)和設定檔均由值得信賴的出版商。如果腳本在執行時未經受信任的發布者簽名,PowerShell 會提示您將發布者分類為受信任或不受信任。如果您選擇信任發布者,PowerShell將執行腳本或載入設定檔;否則,它將阻止它。
RemoteSigned:這是所有 Windows 伺服器的預設策略。它允許您運行您自己編寫的腳本以及來自受信任發布者的腳本。如果腳本或設定檔是從 Internet 下載的且未經受信任的發布者簽名,您可能必須使用 Unblock-File cmdlet 來運行它。
無限制:此是所有非Windows PC 的預設策略。它可以讓您不受任何限制地執行所有腳本並載入設定檔。
繞過:此策略主要適用於以 PowerShell 為基礎的大型應用程式。它允許您運行所有腳本並加載配置文件,沒有任何限製或警告。
未定義:將執行策略設置為“未定義”意味著當前沒有設置執行策略範圍。如果所有範圍(MachinePolicy、UserPolicy、Process、CurrentUser 和LocalMachine)都設定為“未定義”,則策略將恢復為“受限”。
我希望這個簡單的Windows 操作指南對您有所幫助。
如果您喜歡本文,請查看如何在 PowerShell 中放大和縮小以及如何按計劃運行 PowerShell 腳本。
更新:教程已更新,包括適用於Windows 11 用戶的另一種方法,並更新PowerShell 命令以在所有系統上執行。