How to Change PowerShell Execution Policy in Windows 10

PowerShell lets you automate almost anything on a Windows system. By default, when you try to execute a custom or downloaded PowerShell script, it will throw the “Script cannot be loaded because running scripts is disabled on this system” error.

Powershell execution error

This error happens because of the Restricted execution policy. In order to execute scripts, you need to set different execution policy. In case you are wondering, here’s how to change the PowerShell execution policy in Windows 10.

Jump to:

What Are Execution Policies?

You can think of execution policies like a condition. A condition needs to be met to execute certain configurations or scripts. If not, the configuration or script will not run as expected.

Now, even though an execution policy can block certain configuration files or scripts from running, the policies are not a security measure. In fact, they can be easily bypassed. In Microsoft words, execution policies are just basic rules. These rules prevent you from unintentionally violating the policies.

PowerShell has six different execution policies. They are as follows.

1. Restricted Execution Policy

As you can tell from the name itself, Restricted policy is the most limited policy. The policy is applied by default on all Windows 10 PCs. Under this policy, you can only run individual commands. You cannot run any PowerShell scripts, configuration files, or module script files.

2. All Signed Execution Policy

When set, the All Signed policy only lets you run signed PowerShell scripts. This condition applies to your own custom scripts too. If the script publisher is not yet classified as trusted or untrusted, you will be prompted to choose one.

3. RemoteSigned Execution Policy

RemoteSigned policy lets you run both the scripts downloaded from the internet and the ones you create. While the scripts created on your local computer require no digital signature, scripts downloaded from the internet require a digital signature from a trusted publisher. That being said, if there is no digital signature for the downloaded scripts, you can still run them by manually unblocking the script using Unblock-File cmdlet. For Windows servers, RemoteSigned is the default execution policy.

4. Unrestricted Execution Policy

The name says it doesn’t it? Under the Unrestricted policy, you can run both downloaded and your own scripts created on the local computer without any restrictions. However, PowerShell will display a warning message when running scripts or configurations downloaded from the internet. Unrestricted is the default policy for the non-Windows system.

5. Bypass Execution Policy

Bypass policy is a step higher than Unrestricted. Under this policy, no script or configuration file is blocked. In fact, this policy will not even show any warning messages whatsoever. Generally, this policy is used as part of a larger application that has its own policies and security implementations. General users should almost never apply this policy.

6. Undefined Execution Policy

Undefined policy means that there is no execution policy in the current scope. If all the scopes are undefined, then the effective policy is Restrictive. If you read earlier, Restrictive is the default policy for all regular Windows systems (Pro and Home).

Now that you know what the execution policies actually mean, follow the below steps to change PowerShell execution policy in Windows 10. The blow steps work in Windows 7 and Windows 8 too, no matter the PowerShell version.

Change Execution Policy in PowerShell

1. To change the execution policy in PowerShell, you need to have administrator privileges. So, search for PowerShell in the start menu, right-click on it and select “Run as Administrator”.

Open powershell as admin

2. The first thing you need to do is to check the current execution policy. That way, you will know whether you need to change the execution policy or not. So, execute the below command and PowerShell will instantly tell which execution policy is currently active. As you can see, in my case, it is Restricted.

Get-ExecutionPolicy

Get current powershell execution policy

3. To change or set the execution policy, execute the below command. Of course, if you’d like to use some other execution policy, replace RemoteSigned with the name of other execution policies.

Note: If you are regular home or power user who wishes to execute custom or downloaded PowerShell scripts, I’d recommend you go with the RemoteSigned execution policy. RemoteSigned execution policy offers a good balance between basic security and ease of use.

Set-ExecutionPolicy RemoteSigned

Change powershell execution policy

4. As soon as you execute the above command, you will be asked to confirm your action. Type A in the PowerShell window and press Enter to confirm the execution policy change.

Confirm execution policy change

5. To verify the policy change, execute the Get-ExecutionPolicy cmdlet again and you should see it return RemoteSigned.

Verify powershell execution policy change

That is all. It is simple to change the PowerShell execution policy.

If you like this article, do check how to zoom in and out in PowerShell and how to run PowerShell scripts on schedule in Windows 10.

2 thoughts on “How to Change PowerShell Execution Policy in Windows 10”

  1. Avatar for amna

    what to do if it says
    C:\Windows\system32>Get-ExecutionPolicy
    ‘Get-ExecutionPolicy’ is not recognized as an internal or external command,
    operable program or batch file.

    1. Avatar for Bashkarla

      I think you are executing the command in the Command Prompt.

      You should execute it in PowerShell. You can open PowerShell by searching for it in the Start menu.

Leave a Comment

Scroll to Top