How to Fix “Running Scripts Is Disabled on This System” in PowerShell on Windows 10

To fix the “running scripts is disabled on this system” error on a personal Windows 10 PC, set PowerShell to RemoteSigned for your user account, then run the script from its folder. Open Windows PowerShell and enter:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Confirm the change when prompted. This applies only to your Windows account and does not require an administrator window. If you only need to run a trusted script once, use the temporary session option below instead.

1. Check which execution policy is blocking the script

In the same PowerShell app where you saw the error, run:

Get-ExecutionPolicy -List

The command lists policies for Group Policy, the current session, your account, and the computer. Restricted allows individual commands but blocks script files; it is the default policy for Windows client computers when no other policy is set. PowerShell uses the most specific applicable setting, with Group Policy settings taking precedence.

Windows PowerShell shows Get-ExecutionPolicy -List and a Restricted policy for CurrentUser
Check the listed scopes before changing a policy.

Execution policy is a safety feature that helps prevent scripts from running unintentionally, but Microsoft describes it as defense in depth rather than a security boundary. A script can still be harmful, so review its code and verify its source before allowing it to run. See Microsoft’s Windows PowerShell 5.1 execution policy guide.

2. Allow local scripts for your account

For scripts you create or otherwise trust, set the user-level policy to RemoteSigned:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

When PowerShell asks whether you want to change the execution policy, type Y and press Enter if you intend to proceed. The change takes effect immediately; you do not need to restart PowerShell. CurrentUser affects only your account and avoids changing the default LocalMachine scope, which applies to everyone and requires an elevated PowerShell window.

PowerShell confirmation prompt for setting RemoteSigned at the CurrentUser scope
Confirm the account-only RemoteSigned change when prompted.

RemoteSigned permits local scripts that are not marked as internet downloads. It requires downloaded scripts to have a trusted digital signature unless you deliberately unblock a specific file. Avoid changing the policy to Unrestricted or Bypass as a general fix: those settings allow more scripts to run with fewer warnings.

3. Run the script from its folder

Move to the folder containing the .ps1 file, then include ./ (or the Windows-style .\) before its name. For example:

Set-Location 'C:\Scripts'
.\MyScript.ps1

PowerShell does not automatically run a file from the current directory when you type only its name. If the path contains spaces or you are running it from another folder, use the call operator and quote the full path:

& 'C:\Scripts\My Script.ps1'
PowerShell verifies RemoteSigned and runs a local script with the .\\myscript.ps1 command
Verify the effective policy, then call the script by its path.

4. If a downloaded script is still blocked

With RemoteSigned, an unsigned script downloaded from the internet can remain blocked even after you change the policy. First inspect the script and verify that you trust its source. If you do, unblock only that file:

Unblock-File -LiteralPath '.\MyScript.ps1'
.\MyScript.ps1

Use the correct path if the file is elsewhere. Unblock-File removes the file’s internet-download marker; it does not inspect the code or make an unsafe script safe. Microsoft documents this behavior in the Windows PowerShell 5.1 Unblock-File reference.

PowerShell runs Unblock-File for one reviewed script file
Unblock only a reviewed file whose source you trust.

Use a temporary policy for one session

If you do not want a persistent per-user setting, close the current PowerShell window and open a new one. Then run this before the script:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

The Process scope applies only to that PowerShell session and its child processes; closing the window clears it. This still follows RemoteSigned rules, so a downloaded unsigned file may need to be reviewed and individually unblocked. The Set-ExecutionPolicy reference explains the available scopes and policy values.

If the error remains

  • Run Get-ExecutionPolicy to see the effective policy, and Get-ExecutionPolicy -List to check what controls it. If MachinePolicy or UserPolicy is set, an organization’s Group Policy is controlling script execution. Do not try to override it; contact your administrator.
  • Make sure you changed the policy in the same PowerShell edition you use to run the script. Windows PowerShell 5.1 (powershell.exe) and PowerShell 7 (pwsh.exe) store policy settings separately.
  • If you want to remove the per-user change later, run Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser. This clears only the CurrentUser setting; the effective policy falls back to another configured scope or, if none exists on Windows 10, to Restricted.

For most personal Windows 10 systems, RemoteSigned at CurrentUser is enough to run local scripts while retaining a check for scripts marked as downloaded. Keep the scope narrow, verify unfamiliar code, and leave centrally managed settings to your IT administrator.

Leave a Comment

How to Create a List of All Items in a Folder on Windows 10

How to Create a List of All Items in a Folder on Windows 10

Create a searchable Windows 10 folder inventory with PowerShell. Save every file and subfolder path as plain text or export details to a sortable CSV.

How to Display Custom Text on Your Windows 10 Desktop

How to Display Custom Text on Your Windows 10 Desktop

Add a custom reminder, quote, or label to your Windows 10 desktop with a Rainmeter text skin. Create the INI file, load it, then adjust its font and position.

How to Use Bluetooth Swift Pair on Windows 10

How to Use Bluetooth Swift Pair on Windows 10

Use Bluetooth Swift Pair on Windows 10 to pair a compatible accessory from a notification, with setup steps and fixes when the prompt does not appear.

How to Identify Function Key Symbols on a Windows 10 Laptop

How to Identify Function Key Symbols on a Windows 10 Laptop

Learn what common laptop function key symbols mean, how Fn and Fn Lock affect them, and how to confirm the right shortcut for your Windows 10 laptop model.

How to Put the Windows 10 Screen to Sleep on Demand

How to Put the Windows 10 Screen to Sleep on Demand

Turn off your Windows 10 display instantly with ScreenSleep, set a keyboard shortcut, and see when to use the built-in screen timeout instead.

How to Fix “Running Scripts Is Disabled on This System” in PowerShell on Windows 10

How to Fix “Running Scripts Is Disabled on This System” in PowerShell on Windows 10

Fix the “running scripts is disabled on this system” PowerShell error on Windows 10 with a current-user policy, a temporary session option, and safe steps for downloaded scripts.

How to Change the Drag Selection Color in Windows 10

How to Change the Drag Selection Color in Windows 10

Change the Windows 10 drag-selection color with a backup-first registry walkthrough, RGB examples, troubleshooting tips, and steps to restore your original values.

How to View All Devices Connected to Your Network on Windows 10

How to View All Devices Connected to Your Network on Windows 10

Check your router’s connected-device list or scan a local network with Fing Desktop on a supported PC. Learn what each method can show and how to verify unfamiliar entries.

Can You Get Alerts When a Facebook Messenger Friend Is Online?

Can You Get Alerts When a Facebook Messenger Friend Is Online?

Messenger does not offer a documented per-friend online alert. Learn how Active Status works, where to check the green dot, and which notifications you can enable instead.

How to Search an Archive File Without Extracting It on Windows 10

How to Search an Archive File Without Extracting It on Windows 10

Use 7-Zip to find an exact filename or wildcard match inside a ZIP or other supported archive on Windows 10 without unpacking its files.