[英]Execution Policy getting reset?
我試圖用解決問題$(ESCAPE_DQUOTE(SRVR))
沒有被設置的認可Process
范圍RemoteSigned
基於答案在這里通過philfactor。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
然后Get-ExecutionPolicy -list
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process RemoteSigned
CurrentUser Undefined
LocalMachine Bypass
我現在打開一個新的 powershell 並且Get-ExecutionPolicy -list
返回Process Undefined
!! 怎么來的? 為什么要重置它?
您不能永久設置Process
范圍,它僅對當前進程( source )有效:
Process范圍僅影響當前的 PowerShell 會話。 執行策略保存在環境變量
$env:PSExecutionPolicyPreference
,而不是注冊表中。 當 PowerShell 會話關閉時,變量和值將被刪除。
如果范圍是Undefined
,它將從更高級別的范圍繼承其策略:
有效的執行策略由以下優先順序確定:
- 機器策略。 由計算機的所有用戶的組策略設置。
- 用戶政策。 由計算機當前用戶的組策略設置。
- 過程。 僅影響當前的 PowerShell 會話。
- 當前用戶。 僅影響當前用戶。
- 本地機器。 影響計算機所有用戶的默認范圍。
根據你的情況, Process
將繼承CurrentUser
和CurrentUser
將繼承LocalMachine
。 因此, Bypass
將對Process
范圍有效。
您可以通過執行不帶參數的Get-ExecutionPolicy
來驗證您當前的有效執行策略。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.