初次使用 PowerShell 執行 .ps1 腳本時,預設會遇到錯誤:因為在此系統中禁止執行腳本...
原因是預設執行原則為 Restricted。只需兩行指令即可解除限制 (需以系統管理員身分執行 PowerShell)。
PS C:\> Get-ExecutionPolicy
Restricted
PS C:\> Set-ExecutionPolicy RemoteSigned
# 出現確認提示輸入 Y 或 A
PS C:\> Get-ExecutionPolicy
RemoteSigned
| 原則 | 說明 |
|---|---|
| Restricted | 預設值,禁止執行任何腳本,僅允許互動式指令 |
| RemoteSigned | 推薦:本機腳本可直接執行,從網路下載的腳本需有受信任簽章 |
| AllSigned | 所有腳本 (含本機) 均需簽章 |
| Unrestricted | 完全開放,不檢查簽章 (安全性風險高) |
| Bypass | 不阻擋任何執行,無警告 (僅供特定自動化場景) |
# 僅對目前使用者生效 (無需管理員權限)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# 對本機所有使用者生效 (需管理員)
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
建議開發機使用 RemoteSigned -Scope CurrentUser,生產/伺服器環境維持 Restricted 或配合簽章機制使用 AllSigned。