Setting the PowerShell Execution Policy

By:   |   Updated: 2012-05-22   |   Comments (4)   |   Related: > 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


sql server categories

sql server webinars

subscribe to mssqltips

sql server tutorials

sql server white papers

next tip



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.

This author pledges the content of this article is based on professional experience and not AI generated.

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