After installing Starship on a fish shell, I thought, why not tweak PowerShell with Starship to give a new look to PowerShell, which had been waiting for a long time for something new.
And that’s the reason I started the procedure to install Starship on PowerShell, but when I launched the terminal to see how it looks after installing Starship instead of getting something new, I found an error that states: “execution of scripts is disabled on this system”.
Well, this error is not new to me, so I solved the error in a minute, but this may not be new to others. That’s the reason I have come up with this short guide to resolve the execution of scripts that are disabled by default on the system to protect it from executing malignant scripts.
FIX: Execution of Scripts is Disabled on this System
The above error is very easy to solve. You just need to run the command, which I will share with you in this article, and I believe you have administrative privileges to follow this article. Otherwise, you won’t be able to change the policy.
Why did the error occur?
By default, Windows doesn’t allow you to run or execute a script that is not signed to prevent your system from any unwanted behaviour that can cause problems for your system.
That security layer is beneficial if you have downloaded or copied some scripts from public space and you don’t know what the script is going to do apart from the primary task.
To find the default execution policy that is defined for your system, you can use the
Get-ExecutionPolicy-List cmdlet. The output of the above cmdlet consists of scope and execution policy like the below snippet.
Administrator in C:\WINDOWS\system32 ❯ Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Unrestricted
And to change that policy, you have to use the
Set-ExecutionPolicy cmdlet, which will allow you to change the policy by using the following verbs or options: Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined.
After understanding why and how the error occurred, let’s see how to resolve the following error using the
Set-ExecutionPolicy cmdlet in the next section of this article.
To fix error run Set-ExectutionPolicy cmdlet
I’ll make it simple for you to understand the steps.
- First, open PowerShell as an administrator.
- Then, run the command that is given below.
Once you execute the command you will get the following option like in the below image simply you can press Y to accept the new policy one by one or A to accept all the changes at once.
After making the changes, you will not be presented with any kind of confirmation, so to get confirmation of our changes, execute the
Get-ExecutionPolicy command to check the current policy for your local machine.
The behaviour of the above command
Administrator in C:\WINDOWS\system32 ❯ Get-ExecutionPolicy RemoteSigned
Once you have updated the policy restart the shell to see whether the above-mentioned error is resolved. If still, the problem persists, then execute another command which is given below.
After that, restart the PowerShell to execute the script that was giving the error.
That’s all it takes to resolve the above mentioned error. If you want to learn more about the execution policy, then do check the following documentation.
If you want to know how to sign your script, then check out this resource.
A man with a tech effusive who has explored some of the amazing technology stuff and is exploring more. While moving towards, I had a chance to work on Android development, Linux, AWS, and DevOps with several open-source tools.