解決PowerShell禁止執行腳本的問題
PowerShell是微軟推出的比cmd更加強大的命令行工具,它和cmd一樣也可以編寫腳本來執行。然而,對于剛接觸PowerShell不久的用戶來說,可能會遇到好不容易編寫了腳本文件,卻被系統告知禁止
PowerShell是微軟推出的比cmd更加強大的命令行工具,它和cmd一樣也可以編寫腳本來執行。然而,對于剛接觸PowerShell不久的用戶來說,可能會遇到好不容易編寫了腳本文件,卻被系統告知禁止運行任何腳本的情況。雖然禁止執行腳本文件是為了系統安全考慮的,但當我們已經確認腳本是安全的時候,我們該如何執行呢?
PowerShell執行策略
PowerShell無疑是對安全做過充分考量的,它把腳本的執行分成了幾個策略。下面是4種常用的執行策略:
- Restricted:禁止運行任何腳本和配置文件。
- AllSigned:可以運行腳本,但要求所有腳本和配置文件由可信發布者簽名,包括在本地計算機上編寫的腳本。
- RemoteSigned:可以運行腳本,但要求從網絡上下載的腳本和配置文件由可信發布者簽名;不要求對已經運行和已在本地計算機編寫的腳本進行數字簽名。
- Unrestricted:可以運行未簽名腳本(危險!)。
修改執行策略
PowerShell默認的執行策略就是“Restricted”,禁止任何腳本的執行。要想執行腳本文件,就必須修改默認的執行策略。然而,修改執行策略需要管理員的權限,所以我們需要以管理員身份運行PowerShell。
- 首先,打開PowerShell命令行界面。
- 然后,輸入Get-ExecutionPolicy命令,用于獲得當前的執行策略。
- 接下來,使用Set-ExecutionPolicy命令設置/更改執行策略。選擇“RemoteSigned”這個執行策略,這個策略既安全又可以執行本地編寫的腳本。
- 如果要執行從網上下載且沒有可信發布者簽名的腳本,在你已經確認該腳本是安全的情況下,可以使用Set-ExecutionPolicy Unrestricted命令將執行策略設置為“Unrestricted”后,即可執行該腳本。
驗證腳本執行
現在來檢測一下是否可以執行腳本了。使用記事本創建一個擴展名為.ps1的腳本文件“”,內容只是向控制臺輸出一句話“明天會更好!”。
保存后,雙擊運行,如果腳本順利執行,那么就證明我們已經成功解決了PowerShell禁止執行腳本的問題。