14

I am using Windows PowerShell 1.0 in Windows Server 2008 R2. I have tried PowerShell 3.0 in Windows 8 and it looks good to me.

Now the question is: How I can upgrade PowerShell on the Windows Server 2008 R2 machine? If 3.0 is not available for me, then is there any way to upgrade to the latest available version?


Name             : ConsoleHost
Version          : 2.0
InstanceId       : f0b6480c-be55-429d-a197-65604de5887e
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace
0

6 Answers 6

5

That's impossible. Windows PowerShell 2.0 is included in Windows Server 2008 R2. You cannot install Windows PowerShell 1.0 in 2008 R2 in any supported fashion.

To verify the version of PowerShell you're running, simply echo the $host variable.

Name             : Windows PowerShell ISE Host
Version          : 3.0
InstanceId       : 711f19be-3f19-4612-bea3-61899c1a73c2
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.Host.ISE.ISEOptions
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace
6
  • no, I am on Window web server 2008 R2 sp1 and I am still have 1.0 powershell so that's why I am looking for 2.0 , 3.0. I thing my post create confusion. please help me if you can. Commented Jul 1, 2012 at 21:26
  • 2
    I think you are confused. Windows Server 2008 R2 SP1 includes Windows PowerShell 2.0 out of the box. Commented Jul 1, 2012 at 21:33
  • 3
    Yup, you got it - the path still says v1.0. Ignore that :) Commented Jul 1, 2012 at 23:44
  • 1
    Another way to find the version of PowerShell that you're using is: $PSVersionTable
    – AKDiscer
    Commented Feb 19, 2016 at 15:16
  • 7
    This post doesn't answer the OP's question How I can upgrade PowerShell on...Windows Server 2008 R2? Commented May 23, 2016 at 21:33
35

PowerShell 2.0 is included with Server 2008 R2. PowerShell 3.0 is included with Windows 8 and Server 2012. PowerShell 3.0 can be installed on Server 2008 R2.

The following instructions are excerpted from this page: http://technet.microsoft.com/en-us/library/hh847837.aspx

  1. Before installing Windows Management Framework 3.0, uninstall any previous versions of Windows Management Framework 3.0.

  2. Install the full installation of Microsoft .NET Framework 4.0 (dotNetFx40_Full_setup.exe) from the Microsoft Download Center at https://go.microsoft.com/fwlink/?LinkID=212547.

  3. Or, install Microsoft .NET Framework 4.5 (dotNetFx45_Full_setup.exe) from the Microsoft Download Center at https://go.microsoft.com/fwlink/?LinkID=242919.

  4. Install Windows Management Framework 3.0 from the Microsoft Download Center at https://www.microsoft.com/en-us/download/details.aspx?id=34595.

The page also describes how to install PowerShell 3.0 on Server 2008 (non-R2) and Windows 7.

3
7

PowerShell 4.0 is the final version available for Windows Server 2008 R2.

The pre-requisites are:

It is installed as part of Windows Management Framework 4.0.

1
  • 1
    These days, PowerShell 5.1 is available for Server 2008 R2 SP1. See other answer.
    – daveloyall
    Commented Jun 7, 2018 at 16:47
2

First, the correct method of checking your PowerShell version is to check the variable $PSVersionTable.PSVersion and not use $Host or Get-Host.

Second, you should do some research about what version of PowerShell you should install on your server instead of just updating it to the latest version available. A great post by The Scripting Guy Should I Upgrade to Latest Windows PowerShell Version? can help you make this decision. For example, the post points out that upgrading PowerShell can break important applications:

Will upgrading Windows PowerShell break any of my applications? Unfortunately the answer is that it might. The Release Notes for Windows PowerShell 4.0 supply the following list of applications with which Windows PowerShell 4.0 is incompatible:

  • System Center 2012 Configuration Manager (not including SP1)
  • System Center Virtual Machine Manager 2008 R2 (including SP1)
  • Microsoft Exchange Server 2013, Microsoft Exchange Server 2010, and Microsoft Exchange Server 2007
  • Microsoft SharePoint 2013 and Microsoft SharePoint 2010
  • Windows Small Business Server 2011 Standard

If your machine is running any of these products, do not install Windows PowerShell 4.0. Windows PowerShell 3.0 has a very similar list. Some of these applications (such as Exchange Server 2013) are made compatible with a service pack. You will need to determine if a service pack or another fix is available for your particular application and situation.

Further, new versions of PowerShell and can also break your existing scripts.

0

To retain your current version say you're running Windows Server 2008 R2 still and you are using PowerShell 2.0.

Run the following code in Windows PowerShell:

Import-Module servermanager
Add-WindowsFeature powershell-ise
1
  • 3
    Welcome to superuser: Please read the question again carefully, it is "How I can upgrade PowerShell on Windows Server 2008 R2?" Your answers "How to retain your current version?" and not the original question. It is still of value but should be a comment, you do not have the Rep yet but will gain it as you continue with the site, (It doesn't take long). Please take a couple of minutes and read:- superuser.com/help .Answering: superuser.com/help/how-to-answer, again welcome to superuser.Thankyou
    – mic84
    Commented Mar 16, 2017 at 15:23
0

Version 4.0 no longer appears to be available for download. PowerShell 5.1 is available for download and is compatilable with Windows Server 2008 R2. https://www.microsoft.com/en-us/download/details.aspx?id=54616. Upgrade required reboot from version 2.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .