Does this site look plain?

This site uses advanced css techniques

There are several versions of PowerShell, and some ship natively with an operating system while others can be upgraded after the fact. This confused me for a long time until I got the hang of it, and now I make it a point to always keep my customer servers updated to the latest so as to enable the most features from my cmdlets.

PowerShell is delivered as part of the Windows Management Framework (WMF), which includes other things that are somewhat less well known; My focus is always on the PowerShell version.

As of this writing (Summer 2019), WMF 5.1 is the most recent, and it's installed natively on Windows 10, plus Server 2016 and later, and it can be installed on systems as old as Server 2008 R2.

What I don't know: Microsoft has introduced PowerShell Core 6.0, which is an open source, cross-platform product, and has a lot of promise: I'd sure love to be able to use PowerShell on the Linux system that hosts this website.

But PS 6 is a whole new animal, using the more limited .NET Core rather than the more full-featured .NET Framework that PowerShell has been using for a long time, and I believe there are substantial limitations while this product matures.

I have not looked at this in any detail, and these pages all refer to classic PowerShell 5.1, not PowerShell Core 6.0.

Microsoft provides full detail in their helpful web page on WMF, but we've summarized a bit. We've also added the copyright date that typically displays when you first open a PwoerShell console; this correlates to the version.

OS Version WMF 5.1
© 2016 †
WMF 4.0
© 2013
WMF 3.0
© 2012
WMF 2.0
© 2009
Server 2019 Ships in-box  
Server 2016 Ships in-box  
Windows 10 Ships in-box  
Server 2012 R2 available Ships in-box
Windows 8.1 R2 available Ships in-box
Server 2012 available available Ships in-box
Server 2008 R2 available available available Ships in-box
Server 2008 not available available Ships in-box
Server 2003 not available Ships in-box
† very recent versions of PowerShell show no copyright date, but mention the cross-platform version of PowerShell Core. These are version 5.1.

I excluded WMF 5.0, which was replaced with 5.1, and obsolete desktop operating systems Vista and XP. I also dropped mentions of service pack requirements: if you're running Server 2003 or Server 2008, you really ought to be running the latest service pack (though you probably aren't writing too many cmdlets).

Tip: Remember that R2 releases of an operating system are a whole new version of the OS, so Server 2008 R2 is as different from Server 2008 that preceeds it as from Server 2016 that follows it; Microsoft charges for them as new operating systems too.

On the other hand, service packs (SP#) are just collections of updates that don't change the version of the OS; they are always free updates.

You can tell which version of PowerShell you're running by going to a PowerShell console prompt and typing $PSVersionTable:

Checking the PowerShell version

This was taken from a Server 2008 R2 system that has the native PS 4.0, and since WMF 5.1 is available for this machine, we've queued up that install and are waiting for a quiet time to reboot the server; virtually all WMF installs require a reboot.

All releases have specific .NET version requirements that can be found in the specific installation instructions: sometimes a substantial .NET framework install is required before WMF can take.

Be Careful! Some WMF upgrades have specific .NET framework requirements, which you have to install before WMF, but not all .NET/WMF combinations are compatible with some server products. Microsoft Exchange and Small Business Server are both known to be touchy about this, so study the requirements carefully before destroying an important server.


The excellent icons on this page were made by Freepik from, and are licensed by CC 3.0 BY