Get-ExecutionPolicy
取得當前會話的執行策略。
語法
All
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
若要依優先順序顯示每個範疇的執行策略,請使用 Get-ExecutionPolicy -List。 要查看 PowerShell 會話的 Get-ExecutionPolicy 有效執行策略,且無需參數即可。
有效的執行政策由由 及 群組政策設定所設定 Set-ExecutionPolicy 的執行政策決定。
如需詳細資訊,請參閱 about_Execution_Policies。
範例
範例 1:取得所有執行策略
此指令依優先順序顯示每個範圍的執行策略。
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
指令 Get-ExecutionPolicy 小程式使用 List 參數來顯示每個作用域的執行策略。
範例 2:設定執行策略
這個範例展示了如何為本地電腦設定執行政策。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
Set-ExecutionPolicy指令長 ExecutionTPolicy 參數來指定該政策。RemoteSigned
Scope 參數指定預設範圍值 LocalMachine。
要查看執行政策設定,請使用 帶有 Get-ExecutionPolicy 參數的 cmdlet。
範例 3:取得有效執行策略
此範例展示了如何顯示 PowerShell 會話的有效執行政策。
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
指令 Get-ExecutionPolicy 小程式使用 List 參數來顯示每個作用域的執行策略。
Get-ExecutionPolicy指令檔執行時未設定參數以顯示有效執行策略。 AllSigned
範例 4:解除封鎖腳本以執行該腳本,且不更改執行策略
這個例子說明執行策略如何 RemoteSigned 防止你執行未簽名的腳本。
最佳做法是先閱讀腳本程式碼並確認安全,再使用Unblock-File指令長。
Unblock-File指令檔會解除腳本的阻擋,讓它們能執行,但不會改變執行策略。
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path .\Start-ActivityTracker.ps1
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
Task 1:
該Set-ExecutionPolicy參數使用 ExecutionPolicy 參數來指定該政策。RemoteSigned 該策略設定為預設範圍 LocalMachine。
指令檔顯示 Get-ExecutionPolicy 是 RemoteSigned 目前 PowerShell 會話的有效執行策略。
Start-ActivityTracker.ps1腳本是從目前目錄執行的。 劇本被阻擋 RemoteSigned 是因為劇本沒有數位簽名。
在這個例子中,腳本的程式碼被審查並驗證為安全可執行。
Unblock-File指令本 Path 參數會用來解除腳本的阻塞。
為了驗證該Unblock-File行為沒有改變執行策略,Get-ExecutionPolicy請顯示有效執行策略。 RemoteSigned
腳本 , Start-ActivityTracker.ps1 是從目前目錄執行的。 腳本開始執行是因為 cmdlet 解阻 Unblock-File 了它。
參數
-List
會取得該會話的所有執行策略值。 預設情況下, Get-ExecutionPolicy 只會取得有效的執行策略。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Scope
指定受執行政策影響的範圍。
有效執行政策依優先順序決定如下:
-
MachinePolicy。 由群組原則設定,適用於電腦的所有用戶。 -
UserPolicy。 由電腦目前使用者的組策略設定。 -
Process。 只影響目前的 PowerShell 會話。 -
LocalMachine。 預設範圍,影響所有電腦使用者。 -
CurrentUser。 只影響目前的使用者。
參數屬性
| 類型: | ExecutionPolicyScope |
| 預設值: | Effective execution policy |
| 接受的值: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
None
您不能將物件透過管道傳送到此 Cmdlet。
輸出
ExecutionPolicy
在 Linux 和 macOS 平台上,該指令檔總是無 限制 回傳。 在 Windows 平台上,它會回傳目前的執行策略。
備註
執行策略是 PowerShell 安全策略的一部分。 執行策略決定你是否能載入設定檔,例如你的 PowerShell 設定檔,或執行腳本。 以及腳本是否必須在執行前進行數位簽名。