PowerShell 有一個執行原則選項,是 PowerShell 在載入組態檔或執行腳本時,為了防止不小心執行惡意腳本的選項
使用下面的指令可以查看當前的規則:
預設是 Restricted ,所以在執行任何腳本時都會出現下面的錯誤:
所有原則的簡易說明如下:
套用為 RemoteSigned 的指令如下:
執行後就不會再出現「已停用指令碼執行,所以無法載入」了!
註:需要 以系統管理員身分執行 PowerShell
參考資料:
about_Execution_Policies
使用下面的指令可以查看當前的規則:
Get-ExecutionPolicy
預設是 Restricted ,所以在執行任何腳本時都會出現下面的錯誤:
. : 因為這個系統上已停用指令碼執行,所以無法載入 C:\Users\ruyut\Documents\WindowsPowerShell\Microsoft.PowerShell_profil
e.ps1 檔案。如需詳細資訊,請參閱 about_Execution_Policies,網址為 https:/go.microsoft.com/fwlink/?LinkID=135170。
位於 線路:1 字元:3
+ . 'C:\Users\ruyut\Documents\WindowsPowerShell\Microsoft.PowerShell_pr ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
所有原則的簡易說明如下:
- AllSigned: 所有腳本都可以執行,指令碼與設定檔則是需由信任的發行者簽署
- Bypass: 不會封鎖任何項目,且不會顯示警告或提示
- Default: 預設
- RemoteSigned: 腳本和組態檔需要數位簽章,除非在本機電腦上撰寫
- Undefined: 未設定
- Unrestricted: 非 Windows 電腦使用的原則
套用為 RemoteSigned 的指令如下:
Set-ExecutionPolicy RemoteSigned
執行後就不會再出現「已停用指令碼執行,所以無法載入」了!
註:需要 以系統管理員身分執行 PowerShell
參考資料:
about_Execution_Policies
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com