Weird behavior when using psversiontable with 'Get-GPO'

I stumbled upon this weird behavior, I wanted to show the powershell version and then grab GPO info.
When I append $psversiontable, I get a super funky output
I tested this on a Windows Server 2019 , 1809 box.

$psversiontable;get-gpo 'ad logging' 
# vs 
get-gpo 'ad logging'

When I run it with the $psversiontable, it is not showing the User or computerversion.

PS C:\Users\Administrator> 
$psversiontable;get-gpo 'ad logging'

Name                           Value
----                           -----
PSVersion                      5.1.17763.592
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.592
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Id               : a4ff4b99-3712-4c3c-90cb-93621b24711f
DisplayName      : AD Logging
Path             : cn={A4FF4B99-3712-4C3C-90CB-93621B24711F},cn=policies,cn=system,DC=ad,DC=test,DC=com
Owner            : AD\Domain Admins
DomainName       : ad.test.com
CreationTime     : 8/20/2020 9:05:17 PM
ModificationTime : 8/20/2020 9:09:50 PM
User             : Microsoft.GroupPolicy.UserConfiguration
Computer         : Microsoft.GroupPolicy.ComputerConfiguration
GpoStatus        : AllSettingsEnabled
WmiFilter        :
Description      :



PS C:\Users\Administrator> 
get-gpo 'ad logging'


DisplayName      : AD Logging
DomainName       : ad.test.com
Owner            : AD\Domain Admins
Id               : a4ff4b99-3712-4c3c-90cb-93621b24711f
GpoStatus        : AllSettingsEnabled
Description      :
CreationTime     : 8/20/2020 9:05:17 PM
ModificationTime : 8/20/2020 9:09:50 PM
UserVersion      : AD Version: 0, SysVol Version: 0
ComputerVersion  : AD Version: 13, SysVol Version: 13
WmiFilter        :

Does anyone have the same weird behavior or has seen this before?

The 3 most important cmdlets in PowerShell are Get-Command, Get-Help and Get-Member Try piping the output to Get-Member at the end of either line and see what is returned.

Funny things happen when combining the output of multiple commands. Format-table runs in the background and doesn’t handle it exactly the way you’d expect. I think pipe the second one to format-list * to see all the properties.

This behavior is because of the formatting subsystem. When multiple expression comes in a single pipeline, then the formatting for the first one will be applied and the remaining will not get the proper formatting. You can pipe the second expression to Out-Default.

I think user config and computer config values are calculated during formatting. You can check it in the GPO modules folder which will probably have a formatting file in xml format. I had an old blog post regarding formatting. You can have a look at it.

PS: this behavior is changed in PowerShell core for built-in cmdlets.