# Bypass and Set PowerShell Script Execution Policies

> Change the PowerShell execution policy to run scripts using Set-ExecutionPolicy RemoteSigned, or bypass it for a single session with the Bypass flag

**URL:** https://sentry.io/answers/bypass-and-set-powershell-script-execution-policies/

---

## The Problem

When I attempt to run a PowerShell script (for example, `MyScript.ps1`), I get the error:

```
MyScript.ps1 cannot be loaded because the execution of scripts is disabled on this system.
```

How do I enable script execution?

## The Solution

To run PowerShell scripts, it may be necessary to change the PowerShell execution policy. The execution policy on most modern Windows systems is set to `Restricted` by default, preventing the execution of any PowerShell scripts. This is a security measure as PowerShell scripts can have powerful and dangerous functionality. 

To see the current execution policy, run the following PowerShell cmdlet:

```sh
Get-ExecutionPolicy
```

To temporarily bypass the execution policy and run scripts in a single PowerShell session, we can specify the flag `-ExecutionPolicy Bypass` when starting PowerShell from Windows CMD or the Run dialog. 

For example, the command below will run `MyScript.ps1` without modifying the execution policy:

```sh
powershell -noexit -ExecutionPolicy Bypass -File MyScript.ps1
```

To enable script execution permanently, we can use PowerShell's [`Set-ExecutionPolicy`](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7.4) cmdlet. 

Run PowerShell as Administrator and execute the following command:

```sh
Set-ExecutionPolicy RemoteSigned
```

This will allow execution of any locally written PowerShell scripts, but will also require that PowerShell scripts downloaded from the internet are digitally signed by a trusted publisher. This is the default setting for Windows Servers.

If this policy is still too restrictive, we can remove all restrictions with this command:

```sh
Set-ExecutionPolicy Unrestricted
```

This will allow any script to be executed. You will still be prompted for permission when executing a script from the internet.

A full list of execution policy options is available [here](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7.4#-executionpolicy).

---

*Source: [sentry.io/answers/bypass-and-set-powershell-script-execution-policies/](https://sentry.io/answers/bypass-and-set-powershell-script-execution-policies/)*
