pwsh.exe Not recognized, even after adding path?

Copper 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

 

6 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.

mine is vice versa

PS C:\Windows\System32> powershell --version
The application to execute does not exist: 'C:\Windows\System32\pwsh.dll'.
PS C:\Windows\System32> pwsh --version
PowerShell 7.4.3
PS C:\Windows\System32>

 Any clue how to fix it?

@LainRobertson 

@felixozuna 

 

There's not enough information to know your starting position, and the error from the first command doesn't make sense to me, as pwsh.dll doesn't live in %windir%\System32 by default - at least not under PowerShell v7 and above (and it doesn't relate at all to Windows PowerShell).

 

Do you get anything back from running the following from a command prompt?

 

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "[PSCustomObject] $PSVersionTable | Select-Object -Property PSVersion, PSEdition"

 

Example output

LainRobertson_0-1720750429946.png

 

As an aside, "powershell --version" is an invalid command when referencing Windows PowerShell, and it's not the same at all as "pwsh --version". But that's unimportant in the context of the error you received.

 

Cheers,

Lain

Hi Lain , I appreciate your help, my powershell is fine as a matter of fact I've been researching the internet all over to find a solution to a problem that I am getting in Flutter I don't know if your familiar or not but thats how this issue started because the error reads like this [!] Windows Version (Problem detected with Windows
installation)
! Get-Process failed to complete

But thats on my text editor terminal because when I run Get Process on the actual Powershell Terminal it runs fine! Ive already checked all my paths and I even created a batch file to route back pwsh but I dont know , I guess I'll have to make more research, Thanks Anyway!

@felixozuna 

 

No problem.

 

Purely as a point of reference, I only have two path inclusions (in the system "path" variable) on my machine, where the first is from the per machine installation of PowerShell, and the second is from the out-of-box Windows PowerShell:

 

LainRobertson_0-1720753952713.png

 

Given this thread started in the context of Windows Home, which I'm unfamiliar with, I have to point out that the above screenshot pertains to Windows 10 Enterprise (64-bit), meaning user of Home may or may not see the same output.

 

Cheers,

Lain