117

The OS that I am using is Windows 7, and the PowerShell version that is installed here is 2.0. Is it possible for me to upgrade it to version 3.0 or 4.0?

Because there are cmdlets that version 2.0 can't recognize.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Teppie
  • 1,171
  • 2
  • 8
  • 3

7 Answers7

61

Download and install from http://www.microsoft.com/en-us/download/details.aspx?id=34595. You need Windows 7 SP1 though.

It's worth keeping in mind that PowerShell 3 on Windows 7 does not have all the cmdlets as PowerShell 3 on Windows 8. So you may still encounter cmdlets that are not present on your system.

Shiva
  • 20,575
  • 14
  • 82
  • 112
Rakhesh Sasidharan
  • 1,013
  • 8
  • 14
  • 1
    I am on Windows 7 SP1 64x, and none of the 4 downloads on the page you've linked to "work". By that, I mean that when I run the installer, it says "This update is not applicable to your computer. " and I know from checking version that I am still on PowerShell 2. – Shiva Sep 03 '15 at 20:52
  • 2
    Looks like the link still works. Although it looks like they're up to v5.1 now: https://www.microsoft.com/en-us/download/details.aspx?id=54616, which still says it supports Windows 7 SP1 or higher. – mwfearnley Mar 28 '18 at 12:18
46

The latest PowerShell version as of Sept 2015 is PowerShell 4.0. It's bundled with Windows Management Framework 4.0.

Here's the download page for PowerShelll 4.0 for all versions of Windows. For Windows 7, there are 2 links on that page, 1 for x64 and 1 for x86.

enter image description here

Shiva
  • 20,575
  • 14
  • 82
  • 112
  • 1
    Does it require reboot? – Mr_LinDowsMac Mar 04 '16 at 01:28
  • I did it a long time ago, so don't remember if I _had to_ restart, but per the installation instruction in the page I have linked to, it looks like you have to restart the computer. See 3rd line that says "Reboot the computer, start Windows PowerShell and verify that the output of $PSVersionTable shows 4.0 as the value of the PSVersion property" – Shiva Mar 04 '16 at 04:25
  • There is powershell 5.0 now – razz Jul 28 '16 at 14:24
  • @razzak I don't think PowerShell 5.0 Production version has been released. The latest version of Windows Management Framework from here https://www.microsoft.com/en-us/download/details.aspx?id=50395 says in it's release notes here https://msdn.microsoft.com/en-us/powershell/wmf/5.0/releasenotes that WMF 5.0 and PowerShell 5.0 is in the "Production Preview" state. – Shiva Jul 28 '16 at 19:05
  • 1
    @Shiva I didn't notice that when I installed it, thanks for pointing it out. – razz Jul 29 '16 at 14:11
  • Downloads for windows 7 are not longer available – jneira Jun 07 '21 at 07:24
31

Just run this in a console.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
cinst powershell

It installs the latest version using a Chocolatey repository.

Originally I was using command cinst powershell 3.0.20121027, but it looks like it later stopped working. Since this question is related to PowerShell 3.0 this was the right way. At this moment (June 26, 2014) cinst powershell refers to version 3.0 of PowerShell, and that may change in future.

See the Chocolatey PowerShell package page for details on what version will be installed.

JasonMArcher
  • 14,195
  • 22
  • 56
  • 52
majkinetor
  • 8,730
  • 9
  • 54
  • 72
  • 71
    I didn't downvote, but running a script off some random URL without any script signing or anything sure seems like a good way to get your system PWN'd. – Zoredache Mar 14 '14 at 23:30
  • 2
    You can check the script or save it locally and use the new URL. – majkinetor Mar 15 '14 at 09:43
  • 1
    "Unable to find package '3.0.20121027'" – David Murdoch Jun 16 '14 at 18:02
  • Mhm.. find it on chocolatey index directly then – majkinetor Jun 16 '14 at 18:19
  • current version is 4. 3 is not available anymore – prusswan Jan 25 '16 at 08:37
  • @Zoredache, True, you probably don't want to run scripts from the internet on your production environment :) however these packages on chocolatey are reasonably well adopted and the benefit outweighs the risk in the scenarios I've applied it. A serious production environment would probably have SCCM tooling anyhow. However, the current Chocolatey 'powershell' package now targets v5 of Powershell so if it is specifically v3 you want this won't cut it. Try version4 instead: choco install powershell4 – Almund Nov 28 '16 at 10:59
  • SCCM is IMO wrong solution for the job. Chocolatey packages can be offline - via Nexus/Artifactory or simply put them on share. You can inspect scripts before you do that in case you are concerned about security. Core chocolatey package are IMO more safe then some random package created in some company as those usually do not have expertise for creating safe packages. – majkinetor Apr 04 '17 at 07:51
  • @Zoredache I could understand the end result you're pointing to but what does PWN'd stand for? – RBT Jun 27 '18 at 09:25
24
  1. Install Chocolatey
  2. Run the following commands in CMD

    • choco install powershell

    • choco upgrade powershell

Mohsen Afshin
  • 13,273
  • 10
  • 65
  • 90
  • 2
    It is not necessary to install and upgrade. If Powershell is not already installed, upgrade will install the latest version. Also, if you want to add this to a script with no prompts, use the `-y` option – Michiel Bugher Dec 06 '17 at 18:51
  • This option can work if you do not want to do windows update with https://www.microsoft.com/en-us/download/details.aspx?id=34595 – vml19 Mar 13 '18 at 04:11
11

As of today, Windows PowerShell 5.1 is the latest version. It can be installed as part of Windows Management Framework 5.1. It was released in January 2017.

Quoting from the official Microsoft download page here.

Some of the new and updated features in this release include:

  • Constrained file copying to/from JEA endpoints
  • JEA support for Group Managed Service Accounts and Conditional Access Policies
  • PowerShell console support for VT100 and redirecting stdin with interactive input
  • Support for catalog signed modules in PowerShell Get
  • Specifying which module version to load in a script
  • Package Management cmdlet support for proxy servers
  • PowerShellGet cmdlet support for proxy servers
  • Improvements in PowerShell Script Debugging
  • Improvements in Desired State Configuration (DSC)
  • Improved PowerShell usage auditing using Transcription and Logging
  • New and updated cmdlets based on community feedback
Samuel Harmer
  • 4,264
  • 5
  • 33
  • 67
RBT
  • 24,161
  • 21
  • 159
  • 240
2

The latest PowerShell version as of Aug 2016 is PowerShell 5.1. It's bundled with Windows Management Framework 5.1.

Here's the download page for PowerShell 5.1 for all versions of Windows, including Windows 7 x64 and x86.

It is worth noting that PowerShell 5.1 is the first version available in two editions of "Desktop" and "Core". Powershell Core 6.x is cross-platform, its latest version for Jan 2019 is 6.1.2. It also works on Windows 7 SP1.

crappylime
  • 491
  • 4
  • 4
1

do use the links above. If you run into error "This update is not applicable to your computer. " then make sure you are in fact using the right file for your os. for example i tried running windows 2012 server from that link on windows 7 service pack 1 and I got the above error so be sure to use the right zip. If you don't know which os you have then go to start and system and it should pop right up This should be self explanatory but

Sagick
  • 317
  • 2
  • 6
  • 20