Windows下PowerShell默認的權限級別是Restricted,不容許執行PS腳本(即.ps1文件)。若是在Restricted權限級別下運行,會獲得錯誤信息:shell
.\XXXX.ps1 : File XXXX.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 + .\XXXX.ps1 params[] ... + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess |
要解決這類問題,一般的作法是,用管理員權限啓動PS命令行,將執行權限修改成RemoteSigned或者Unrestricted:this
Set-ExecutionPolicy RemoteSigned
到這裏,通常就能夠解決大多數狀況下的問題。spa
可是,有的時候會發現有的PS腳本仍是會拋出上面的錯誤。若是你的系統是64位的Windows,那麼有可能你執行腳本是調用的powershell.exe並非你改過權限的那一個。從下面兩個位置下運行powershell並查看權限設置:命令行
Get-ExecutionPolicy
若是有Restricted將其改成RemoteSigned或者Unrestricted。rest