#PSTip New PowerShell Commands in Windows 10 Anniversary Update

Windows 10 Anniversary Update was made generally available on August 2, 2016.

Included in the update is a new version of Windows Management Framework, which has now reached version 5.1. By using the Get-PSVersion function in the PSVersion module I released earlier this year, we can determine that the build number is now 5.1.14393.0:


By using Get-PSVersion -ListVersion we can also see the full history of PowerShell 5.* RTM versions for comparison:


What might be even more interesting is to check out what commands are new between 5.1.14393.0 and the previous RTM build (5.0.10586.494). To make this process more convenient we can leverage another module I released this year, the PSVersionCompare module. Details on how to install it and perform a comparison between two PowerShell versions is available in “Comparing Commands Between PowerShell Versions” article.

Since the initial release, I have also added functions to compare automatic variables as well. This is the commands I ran to compare the XML files from computer A running version 5.0.10586.494 and computer B running version 5.1.14393.0:

There is a lot of changes, which you can review in the following files generated by the above commands:

Some highlights to notice:

  • Four new modules: AppvClient, Microsoft.PowerShell.LocalAccounts, Microsoft.PowerShell.Operation.Validation and UEV
  • Three new cmdlets in module Microsoft.PowerShell.Management: Get-ComputerInfo, Get-TimeZone, and Set-TimeZone
  • Test-Connection has new parameters to support both DCOM and WSMan protocols.
  • Test-NetConnection has new parameters for constraining to an Interface or Source address.
  • The PackageManagement and PowerShellGet modules have new parameters for proxy support.
  • PSReadLine now has ViMode support.
  • A large number of changes in the Storage module.
  • A new automatic variable: PSEdition. The purpose of this variable is to make it possible to distinguish between Desktop edition (“regular” PowerShell based on the full .NET Framework) and Core edition (used on Nano Server, based on .NET Core). A couple of other side notes on this topic: PSEdition is also a new property in the $PSVersionTable automatic variable, and Update-ModuleManifest now has a CompatiblePSEditions parameter in order to specify which PowerShell Edition a module supports.

Of course there are many other enhancements in Windows Management Framework 5.1 which we did not discover by using the PSVersionCompare module. Be sure to check out the WMF 5.1 Release notes to find out more.

About the author: Jan Egil Ring

Jan Egil works as a Lead Architect at Crayon, Norway. He mainly works with automation, and has a strong passion for PowerShell. He has been working with Microsoft infrastructure products such as Windows Server & System Center since the early 2000s. In the recent years the focus has been more and more related to cloud technologies in Microsoft Azure and hybrid environments. He is a multiple-year recipient of Microsoft Most Valuable Professional Award for his contributions in the Windows PowerShell and Cloud & Datacenter Management technical communities. He speaks regularly at user groups and conferences, such as Nordic Infrastructure Conference (NIC), PowerShell Conference Europe and PowerShell Summit. He is a co-organizer of Azure User Group Norway as well as the MTUG (Microsoft Technology User Group) Script Club which focuses mainly on PowerShell. You can follow him on Twitter @JanEgilRing.

Related Posts