PowerShell系列:PowerShell腳本執行策略梳理
作者:郝光明
通過執行策略可以限制 PowerShell 腳本的執行范圍,為系統管理員提供一定的安全保障。策略可以限制執行腳本的用戶、限制執行腳本的來源等等。今天給大家講解PowerShell腳本執行策略相關的知識!
PowerShell 腳本執行策略用于控制何時以及何種方式執行 PowerShell 腳本。通過執行策略可以限制 PowerShell 腳本的執行范圍,為系統管理員提供一定的安全保障。策略可以限制執行腳本的用戶、限制執行腳本的來源等等。這些策略可以在計算機本地或組策略中進行配置。最終保護計算機免受惡意腳本和非法操作的侵害。
今天給大家講解PowerShell腳本執行策略相關的知識!
1、執行策略等級
- AllSigned:要求所有腳本和配置文件都由受信任的發布者簽名,包括在本地計算機上編寫的腳本;從尚未分類為受信任或不受信任的發布者運行腳本之前,需要確認是否執行。
- Bypass:腳本執行沒有任何限制。
- RemoteSigned:本地計算機上的本地腳本,不需要數字簽名直接允許;從Internet或其他計算機下載的腳本,需要腳本必須經過數字簽名才能運行。
- Restricted:允許單個命令,但不允許腳本,它會阻止運行所有腳本文件。
- Undefined:當前范圍沒有執行策略。簡單來說如果所有范圍的執行策略都是Undefined的話,實際使用的測試和Default策略保持一致。
- Default:默認執行策略,Window客戶端為Restricted;Windows服務器為RemoteSigned 。
- Unrestricted:腳本運行不受簽名限制,如果腳本不來自本地 Intranet 區域的腳本和配置文件,運行之前會有警告。
2、執行策略范圍
- MachinePolicy:由組策略為計算機的所有用戶設置。
- UserPolicy:由計算機當前用戶的組策略設置。
- Process:范圍 Process 僅影響當前 PowerShell 會話;執行策略保存在環境變量 $env:PSExecutionPolicyPreference中,而不是注冊表中。 關閉 PowerShell 會話時,變量和值將被刪除。
- CurrentUser:執行策略僅影響當前用戶。 它存儲在 HKEY_CURRENT_USER 注冊表子項中。
- LocalMachine:執行策略會影響當前計算機上的所有用戶。 它存儲在 HKEY_LOCAL_MACHINE 注冊表子項中。
3、執行策略命令語法格式
Set-ExecutionPolicy
[-ExecutionPolicy] <ExecutionPolicy>
[[-Scope] <ExecutionPolicyScope>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
參數說明:
- -ExecutionPolicy :指定執行策略。
- -Scope:指定受執行策略影響的范圍。 默認作用域為 LocalMachine。
- -Force:調整所有腳本提示,建議謹慎使用該參數。默認值為 None,可以指定為 False。
- -WhatIf:顯示運行該 cmdlet 時會發生什么情況。默認值為False。
- -Confirm:提示你在運行 cmdlet 之前進行確認。默認值是False。
4、執行策略常用命令
獲取當前執行策略。
Get-ExecutionPolicy
獲取影響當前會話的所有執行策略。
Get-ExecutionPolicy -List
調整腳本執行策略。
Set-ExecutionPolicy ALLSIGNED
刪除執行策略。
若要刪除特定范圍的執行策略,請將執行策略設置為 Undefined。
注意:Windows 客戶端的默認策略為Restricted 。
#刪除本地計算機所有用戶的執行策略
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
責任編輯:姜華
來源:
小明互聯網技術分享社區