Win powershell執行策略配置


參考連接:https://blog.csdn.net/jeffxu_lib/article/details/84710386

參考連接:http://www.cragsman.org/index.php?m=content&c=index&a=show&catid=92&id=322

   

以下命令獲取當前執行策略:

Get-ExecutionPolicy

若要獲取影響當前會話的所有執行策略,並按優先順序顯示它們,請鍵入

Get-ExecutionPolicy -List

執行策略更改

Set-ExecutionPolicy ALLSIGNED

   

   

   

   

Windows PowerShell 執行策略如下所示:

   

默認執行策略為"Restricted"。

   

RESTRICTED

- Windows 8、Windows Server 2012 和 Windows 8.1 中的默認執行策略。

   

- 允許單獨的命令,但不會運行腳本。

   

- 阻止所有腳本文件的運行,包括格式設置文件和配置文件 (.ps1xml)、模塊腳本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)。

   

ALLSIGNED

- 腳本可以運行。

   

- 要求所有腳本和配置文件都由受信任的發布者簽名,包括在本地計算機上編寫的腳本。

   

- 會在運行來自某類發布者(即你尚未歸類為受信任或不受信任的發布者)的腳本之前提示你。

   

- 存在運行已簽名但卻是惡意的腳本的風險。

   

   

REMOTESIGNED

- 腳本可以運行。這是 Windows Server 2012 R2 中的默認執行策略。

   

- 要求從 Internet 下載的腳本和配置文件(包括電子郵件和即時消息程序)具有受信任的發布者的數字簽名。

   

- 不要求你在本地計算機上編寫的腳本(不是從 Internet 下載的)具有數字簽名。

   

- 如果腳本已被取消阻止(比如通過使用 Unblock-File cmdlet),則運行從 Internet 下載但未簽名的腳本。

   

- 存在運行來自 Internet 之外的源的未簽名腳本和已簽名但卻是惡意的腳本的風險。

   

   

UNRESTRICTED

- 未簽名的腳本可以運行。(這存在運行惡意腳本的風險。)

   

- 在運行從 Internet 下載的腳本和配置文件之前提醒用戶。

   

   

BYPASS

- 不阻止任何內容,並且沒有任何警告或提示。

   

- 該執行策略旨在用於后述配置:在其中 Windows PowerShell 被內置於一個更大的應用程序中,或者在其中 Windows PowerShell 是具有其自己安全模式的程序的基礎。

   

   

UNDEFINED

- 當前作用域中未設置執行策略。

   

- 如果所有作用域中的執行策略都是 Undefined,則有效的執行策略是 Restricted,它是默認執行策略。

   

   

注意:在不區分通用命名約定 (UNC) 路徑和 Internet 路徑的系統上,可能不允許使用 RemoteSigned 執行策略運行由 UNC 路徑標識的腳本。

   

   

   

執行策略作用域

   

你可以設置僅在某個特定作用域中有效的執行策略。

   

Scope 的有效值為 Process、CurrentUser 和 LocalMachine。設置執行策略時,LocalMachine 是默認值。

   

按優先順序列出這些 Scope 值。

   

- PROCESS

執行策略僅影響當前會話(當前 Windows PowerShell 進程)。

   

執行策略存儲在 $env:PSExecutionPolicyPreference 環境變量中,不是存儲在注冊表中,並且當關閉會話時會刪除它。不能通過編輯變量值來更改策略。

   

- CURRENTUSER

執行策略僅影響當前用戶。它存儲在 HKEY_CURRENT_USER 注冊表子項中。

   

- LOCALMACHINE

執行策略會影響當前計算機上的所有用戶。它存儲在 HKEY_LOCAL_MACHINE 注冊表子項中。

   

優先的策略在當前會話中有效,即使在較低優先級上設置了更加嚴格的策略。

   

有關詳細信息,請參閱 Set-ExecutionPolicy。

   

   

   

獲取你的執行策略

   

若要獲取在當前會話中有效的 Windows PowerShell 執行策略,則使用 Get-ExecutionPolicy cmdlet。

   

以下命令獲取當前執行策略:

   

   

   

Get-ExecutionPolicy

   

   

若要獲取影響當前會話的所有執行策略,並按優先順序顯示它們,請鍵入:

   

   

   

Get-ExecutionPolicy -List

   

結果將類似於下面的示例輸出:

   

   

   

Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned

   

在這種情況下,有效的執行策略是 RemoteSigned,因為當前用戶的執行策略優先於為本地計算機設置的執行策略。

   

若要獲取為某個特定作用域設置的執行策略,請使用 Get-ExecutionPolicy 的 Scope 參數。

   

例如,以下命令獲取當前用戶作用域的執行策略。

   

   

   

Get-ExecutionPolicy -Scope CurrentUser

   

   


免責聲明!

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



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