pwsh.exe Not recognized, even after adding path?

New Contributor

Hello,

 

I am trying to use PowerShell to install/run Node Red. No experience with PS and very little with CMD.

First issue:

xxxx cannot be loaded. The file xxxx is not digitally signed. You cannot run this script on the current system..."

 

I went to the Microsoft link provided (https:/go.microsoft.com/fwlink/?LinkID=135170) to read about Execution_Policies

 

I tried to change the policy for a single session using: pwsh.exe -ExecutionPolicy AllSigned

To which I got the error:

pwsh.exe : The term 'pwsh.exe' is not recognized as the name of a cmdlet, function, script file, or operable program..."

 

Looking that up, I found that my 'Environment Variables' were not correct. Specifically, Powershell was not in my path variable. (btw, Why not? There's all types of weird stuff there, why is PS not there?)

So I added it to my path. I copy/pasted the .exe location  C:\Windows\System32\WindowsPowerShell\v1.0

 

It still says pwsh.exe is not recognized.

 

Any ideas?

 

Edition Windows 10 Home
Version 21H2
Installed on ‎4/‎3/‎2021
OS build 19044.2251
Experience Windows Feature Experience Pack 120.2212.4180.0

 

2 Replies

@Stomachbuzz 

 

I'm a little reluctant to reply given this is about Windows Home as a lot of things remain unconfigurable and different when compared to Windows Enterprise and Professional (and their ilk.)

 

That said, it's important to note there are two "PowerShells":

 

  • Windows PowerShell (5.1)
  • PowerShell (7.3)

 

These aren't the same thing.

 

Windows PowerShell is the traditional version that ships as part of Windows operating systems - i.e. you don't need to install it. This version lives under C:\Windows\System32\WindowsPowerShell\v1.0\ and the shell's name is powershell.exe. This version is Windows-only.

 

PowerShell (no Windows prefixed) is the cross-platform version of PowerShell.

 

On Windows, and assuming a system installation has been performed, it lives under C:\Program Files\PowerShell\7\ and the shell's name is pwsh.exe.

 

So, if you set your path to include C:\Windows\System32\WindowsPowerShell\, you will find powershell.exe but not pwsh.exe, in which case the error is valid.

 

Here's a convenient landing page that summarises key differences between Windows PowerShell and PowerShell:

 

 

Cheers,

Lain

Okay, gotcha. Thanks for clearing that up.