Windows Components › Windows PowerShell
Turn on Script Execution
Supported on At least Microsoft Windows 7 or Windows Server 2008 family
What it does
This policy setting lets you configure the script execution policy, controlling which scripts are allowed to run. If you enable this policy setting, the scripts selected in the drop-down list are allowed to run. The "Allow only signed scripts" policy setting allows scripts to execute only if they are signed by a trusted publisher. The "Allow local scripts and remote signed scripts" policy setting allows any local scrips to run; scripts that originate from the Internet must be signed by a trusted publisher. The "Allow all scripts" policy setting allows all scripts to run. If you disable this policy setting, no scripts are allowed to run. Note: This policy setting exists under both "Computer Configuration" and "User Configuration" in the Local Group Policy Editor. The "Computer Configuration" has precedence over "User Configuration." If you disable or do not configure this policy setting, it reverts to a per-machine preference setting; the default if that is not configured is "No scripts allowed."
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\Microsoft\Windows\PowerShell- Value name
EnableScripts- When enabled
- DWORD 1
- When disabled
- DWORD 0
In Intune
Native Intune setting: Yes — Policy CSP
./Device/Vendor/MSFT/Policy/Config/ADMX_PowerShellExecutionPolicy/EnableScriptsADMX_PowerShellExecutionPolicy on Microsoft LearnADMX-backed: Windows ships this template, so it is set with the template's own values, without an import.Windows builds listed: 10.0.22000, 10.0.19043.1202, 10.0.19042.1202, 10.0.19041.1202../User/Vendor/MSFT/Policy/Config/ADMX_PowerShellExecutionPolicy/EnableScriptsADMX_PowerShellExecutionPolicy on Microsoft LearnADMX-backed: Windows ships this template, so it is set with the template's own values, without an import.Windows builds listed: 10.0.22000, 10.0.19043.1202, 10.0.19042.1202, 10.0.19041.1202.
From Microsoft's Policy CSP DDF files (DDF v2 Files, February 2026), read 18 Oct 2026.
Options
| Option | Type | Registry value | Allowed values |
|---|---|---|---|
| Execution PolicyRequired | Drop-down list | ExecutionPolicy |
|
Configure and deploy
Choose a state and the option values; the output below is generated from the template for exactly that.
Fix the highlighted options to generate output.
History 5 retained releases
- 22H2 · 1.015 Jul 2024
- Already present in the first release ChangeIntel keeps.
4 later releases left it unchanged.
Template
- Internal name
EnableScripts- Namespace
Microsoft.Policies.PowerShell- Template file
PowerShellExecutionPolicy.admx- Release
- Windows 11 25H2 · 1.0 · file set
de4e49983ebd651f…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.EnableScripts)" explainText="$(string.EnableScripts_Explain)" key="Software\Policies\Microsoft\Windows\PowerShell" name="EnableScripts" presentation="$(presentation.EnableScripts)" valueName="EnableScripts" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.PowerShell:PowerShell" />
<supportedOn ref="Microsoft.Policies.PowerShell:SUPPORTED_WIN7" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
<elements>
<enum id="ExecutionPolicy" required="true" valueName="ExecutionPolicy">
<item displayName="$(string.AllScriptsSigned)">
<value>
<string>AllSigned</string>
</value>
</item>
<item displayName="$(string.RemoteSignedScripts)">
<value>
<string>RemoteSigned</string>
</value>
</item>
<item displayName="$(string.AllScripts)">
<value>
<string>Unrestricted</string>
</value>
</item>
</enum>
</elements>
</policy>Editor controls
<presentation id="EnableScripts" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<dropdownList noSort="true" refId="ExecutionPolicy">Execution Policy</dropdownList>
</presentation>Supported platforms and category
Microsoft.Policies.PowerShell:category:PowerShell
<category displayName="$(string.PowerShell)" name="PowerShell" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.Windows:WindowsComponents" />
</category>
Microsoft.Policies.PowerShell:definition:SUPPORTED_WIN7
<definition displayName="$(string.SUPPORTED_WIN7)" name="SUPPORTED_WIN7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.Windows:category:WindowsComponents
<category displayName="$(string.WindowsComponents)" explainText="$(string.WindowsComponents_Help)" name="WindowsComponents" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.PowerShell:category:PowerShell
<category displayName="$(string.PowerShell)" name="PowerShell" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.Windows:WindowsComponents" />
</category>
<strings><string id="Microsoft.Policies.PowerShell:PowerShell">Windows PowerShell</string></strings>
Microsoft.Policies.PowerShell:definition:SUPPORTED_WIN7
<definition displayName="$(string.SUPPORTED_WIN7)" name="SUPPORTED_WIN7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.PowerShell:SUPPORTED_WIN7">At least Microsoft Windows 7 or Windows Server 2008 family</string></strings>
Microsoft.Policies.Windows:category:WindowsComponents
<category displayName="$(string.WindowsComponents)" explainText="$(string.WindowsComponents_Help)" name="WindowsComponents" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.Windows:WindowsComponents">Windows Components</string><string id="Microsoft.Policies.Windows:WindowsComponents_Help">Contains settings for operating system components.</string></strings>