1

Lately, firing up PowerShell, I noticed that there is a phrase that says:

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

So why not trying it following the actual Microsoft documentation:

  1. I run $PSVersionTable and the version installed is 5.1
  2. I run winget search Microsoft.PowerShell and it says that version 7.2 is available as well as the 7.3 preview version
  3. I run winget install --id Microsoft.Powershell --source winget and version 7.2 is installed
  4. I run $PSVersionTable again and I'm still on 5.1

enter image description here

Let's try to install it through dotnet:

  1. I run dotnet tool install --global PowerShell and the terminal says Tool 'powershell' (version '7.2.6') was successfully installed.
  2. I run $PSVersionTable and I'm still on 5.1

enter image description here

I'm following the current Microsoft documentation, where am I wrong?

Mofi
  • 46,139
  • 17
  • 80
  • 143
Francesco Mantovani
  • 10,216
  • 13
  • 73
  • 113

2 Answers2

4

Powershell 7 (core) is its own application. Search for pwsh.exe and run that

Fitzgery
  • 558
  • 5
  • 14
  • That is true, `pwsh.exe` made the trick. But why I cannot set PowerShell 7 as the default PowerShell? – Francesco Mantovani Oct 03 '22 at 19:34
  • 1
    @FrancescoMantovani PS 7 isn't fully compatible with PS 5.1, so it's best to keep both installed in parallel. And why bother, when `pwsh` is even shorter to type than `powershell`. – zett42 Oct 03 '22 at 19:45
  • Good point, I was just curious. Thank you – Francesco Mantovani Oct 03 '22 at 19:51
  • @FrancescoMantovani In case you are wondering what the changes from PS 5.1 to PS 7.x are, here is a good overview: https://learn.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.2 – zett42 Oct 04 '22 at 15:15
0

You don't need to upgrade it, as the other answer suggests (they should cohabit), but you can default to the newer one in windows terminal.

This blog showed me how, it's very simple:

https://www.codyhosterman.com/2020/05/defaulting-windows-terminal-to-powershell-7-x-core/

  1. open settings and click 'open json file' at the bottom.
  2. replace the default guid with the one from the ps7 section.
  3. save and restart terminal

Thanks, cody!

Astravagrant
  • 685
  • 10
  • 18