You must have already noticed discrepancies in modules and corresponding commands[1] between PowerShell versions and releases. How can I keep abreast with constant changes in today’s ever fast-pace cloud technologies now that PowerShell is cross-platform commencing with version 6.x?
One way to find out yourself is illustrated here, paying attention to compare apples to apples i.e. Windows Desktop v.s. Windows Desktop. Otherwise, a big difference is to be expected between Windows Server 2016 and Windows 10 Desktop platforms running PowerShell 5.1.x for instance.
STEP 1: export a list of available modules for each #powershell version/release
$mod = @{};
Get-Module -ListAvailable | % { $mod[$PsItem.name] = $PsItem.ExportedCommands }$mod | Export-Clixml modules-la1-w2016ps5.10.xml #computer A
$mod | Export-Clixml modules-la1-w2016ps6.0.0.xml #computer B
STEP 2: import the saved xml data on computer A or B
$mps5 = Import-Clixml .\modules-la1-w2016ps5.10.xml
$mps6 = Import-Clixml .\modules-la1-w2016ps6.0.0.xml
STEP 3: make a comparison to identify any differences
$diffmodules = diff $mps5.keys $mps6.keys
$diffmodulesInObj = diff $diffmodules[0].InputObject $diffmodules[1].InputObjectdiff ($diffmodulesInObj[0].InputObject | % { $_ }) ($diffmodulesInObj[1].InputObject | % { $_ } ) | sort inputobject
InputObject SideIndicator
———– ————-
AppBackgroundTask <=
AppLocker <=
AppvClient <=
Appx <=
AssignedAccess <=
BestPractices <=
BitsTransfer <=
BranchCache <=
ConfigCI <=
…
[1] functions, cmdlets, aliases, etc.