PSSecurityException之PowerShell權限設置


Windows下PowerShell默認的權限級別是Restricted,不允許執行PS腳本(即.ps1文件)。如果在Restricted權限級別下運行,會得到錯誤信息:

.\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

Set-ExecutionPolicy RemoteSigned

image

到這里,一般就可以解決大多數情況下的問題。

但是,有的時候會發現有的PS腳本還是會拋出上面的錯誤。如果你的系統是64位的Windows,那么有可能你執行腳本是調用的powershell.exe並不是你改過權限的那一個。從下面兩個位置下運行powershell並查看權限設置:

  • C:\Windows\System32\WindowsPowerShell\v1.0
  • C:\Windows\SystemWoW64\WindowsPowerShell\v1.0
Get-ExecutionPolicy

如果有Restricted將其改為RemoteSigned或者Unrestricted

 

參考:https://social.technet.microsoft.com/Forums/en-US/3bd44cf2-684c-4c10-9102-26f2a7b7741d/cant-run-scripts?forum=winserverpowershell


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM