Setting the PowerShell Execution Policy

By:   |   Updated: 2012-05-22   |   Comments (4)   |   Related: More > PowerShell


Problem

Recently I moved PowerShell script files to a production environment and when executing it from the command prompt, I got this error: "File cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details". In this tip we cover what needs to be done to resolve this issue.

Solution

There are situations when you are executing a PowerShell script and it will give you the below error message:

File C:\scripts\regSvr.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get- help about_signing" for more details.
At line:1 char:19
+ c:\scripts\regSvr.ps1 <<<<

The reason for the above error is a security setting built into Windows PowerShell called "execution policy". Execution Policy determines how (or if) PowerShell runs scripts. By default, PowerShell's execution policy is set to Restricted; this means that scripts will not run.

You can verify the execution policy setting by using the Get-ExecutionPolicy PowerShell command as shown below.

get-executionpolicy

PowerShell Console

You can change the PowerShell script execution behavior using "Set-ExecutionPolicy". The Set-ExecutionPolicy cmdlet enables you to determine which Windows PowerShell scripts will be allowed to run on your computer.

Windows PowerShell has four different execution policies:

  • Restricted - No scripts can be run. Windows PowerShell can be used only in interactive mode.
  • AllSigned - Only scripts signed by a trusted publisher can be run.
  • RemoteSigned - Downloaded scripts must be signed by a trusted publisher before they can be run.
  • Unrestricted - No restrictions; all scripts can be run.

To get more information on Set-ExecutionPolicy, type "Get-Help Set-ExecutionPolicy" as shown below.

get-help set-executionpolicy

getHelpSetExecutionPolicy PowerShell

To execute the Set-ExecutionPolicy command, you must have administrator permission and for Windows Vista / Windows Server 2008 and later versions you have to open the PowerShell command prompt with Run As Administrator. Otherwise you will get the below error.

set-executionpolicy unrestricted

PowerShell Access Denied Errors

You can set the execution policy as per your requirement as shown below.

set-executionpolicy unrestricted
get-executionpolicy

--or
set-executionpolicy remotesigned
get-executionpolicy

PowerShell Set-Execution Policy Example
Next Steps
  • Check your different PowerShell environments for the current execution policy that is in place.
  • Set the execution policy as per your need for each system
  • Review these other PowerShell tips





get scripts

next tip button



About the author
MSSQLTips author Jugal Shah Jugal Shah has 8+ years of extensive SQL Server experience and has worked on SQL Server 2000, 2005, 2008 and 2008 R2.

View all my tips


Article Last Updated: 2012-05-22

Comments For This Article




Tuesday, September 1, 2020 - 5:19:03 AM - Kirill Back To Top (86399)
thanks a LOT! finally i got it

Thursday, March 7, 2019 - 4:08:09 AM - Luke Back To Top (79203)

 Great help here!

All makes sense now, thanks a lot


Tuesday, April 10, 2018 - 9:13:32 AM - Vishpravasi Back To Top (75656)

 

 

 

 

I am not able to fix the issue help me please

 


Monday, March 4, 2013 - 7:05:22 PM - Dariusz Fabicki Back To Top (22557)

Best :)















get free sql tips
agree to terms