Get-ExecutionPolicy
Applies To: Windows PowerShell 2.0
Gets the execution policies for the current session.
Syntax
Get-ExecutionPolicy [[-Scope] {<Process> | <CurrentUser> | <LocalMachine> | <UserPolicy> | <MachinePolicy>}] [-List] [<CommonParameters>]
Description
The Get-ExecutionPolicy cmdlet gets the execution policies for the current session.
The execution policy is determined by execution policies that you set by using Set-ExecutionPolicy and the Group Policy settings for the Windows PowerShell execution policy. The default value is "Restricted."
Without parameters, Get-ExecutionPolicy gets the execution policy that is effective in the session. You can use the List parameter to get all execution policies that affect the session or the Scope parameter to get the execution policy for a particular scope.
For more information, see about_Execution_Policies.
Parameters
-List
Gets all execution policy values for the session listed in precedence order. By default, Get-ExecutionPolicy gets only the effective execution policy.
Required? |
false |
Position? |
named |
Default Value |
False |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Scope <ExecutionPolicyScope>
Gets the execution policy in the specified scope. By default, Get-ExecutionPolicy gets the effective execution policy for the current session.
Valid values are:
-- MachinePolicy: The execution policy set by a Group Policy for all users of the computer.
-- UserPolicy: The execution policy set by a Group Policy for the current user of the computer.
-- Process: The execution policy that is set for the current Windows PowerShell process.
-- CurrentUser: The execution policy that is set for the current user.
-- LocalMachine: The execution policy that is set for all users of the computer.
Required? |
false |
Position? |
1 |
Default Value |
Effective execution policy |
Accept Pipeline Input? |
true (ByPropertyName) |
Accept Wildcard Characters? |
false |
<CommonParameters>
This command supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, OutBuffer, OutVariable, WarningAction, and WarningVariable. For more information, see about_CommonParameters.
Inputs and Outputs
The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.
Inputs |
None You cannot pipe input to this cmdlet. |
Outputs |
Microsoft.PowerShell.ExecutionPolicy Get-ExecutionPolicy returns an object for each execution policy that it gets. |
Notes
You cannot use Get-ExecutionPolicy to get particular execution policies set for a particular scope or to get the execution policy set by a Group Policy. Get-ExecutionPolicy only gets the effective execution policy that results from applying all precedence rules.
The execution policy is part of the security strategy of Windows PowerShell. It determines whether you can load configuration files (including your Windows PowerShell profile) and run scripts, and it determines which scripts, if any, must be digitally signed before they will run.
The effective execution policy is determined by the policies that you set by using Set-ExecutionPolicy and the "Turn on Script Execution" group policies for computers and users. The precedence order is Computer Group Policy > User Group Policy > Process (session) execution policy > User execution policy > Computer execution policy.
For more information about Windows PowerShell execution policy, including definitions of the Windows PowerShell policies, see about_Execution_Policies.
Example 1
C:\PS>get-executionpolicy
Restricted
Description
-----------
This command gets the current execution policy for the shell.
Example 2
C:\PS>set-executionpolicy RemoteSigned; get-executionPolicy
RemoteSigned
Description
-----------
These commands set a new user preference for the shell execution policy and then display the effective execution policy. The commands are separated by a semicolon (;). In this example, because there is no Group Policy setting, the user preference is the effective policy for the shell.
Example 3
C:\PS>get-executionpolicy -list
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
C:\PS> get-executionpolicy
AllSigned
Description
-----------
These commands get all execution policies in the current session and the effective execution policy.
The first command gets all execution policies that affect the current session. The policies are listed in precedence order.
The second command gets only the effective execution policy, which is the one set in the CurrentUser scope.
See Also
Concepts
Set-ExecutionPolicy
Get-AuthenticodeSignature
Set-AuthenticodeSignature
about_Execution_Policies
about_Signing