Prerequisites
Summary
ConvertTo-Json produces different JSON output for the same Guid value depending on whether it is passed via pipeline or via -InputObject parameter.
Steps to reproduce
$guid = [guid]"12345678-1234-1234-1234-123456789abc"
# Via pipeline
$guid | ConvertTo-Json -Compress
# Via -InputObject parameter
ConvertTo-Json -InputObject $guid -Compress
Expected behavior
# Both methods should produce the same output
"12345678-1234-1234-1234-123456789abc"
Actual behavior
# Via pipeline (object expansion)
{"value":"12345678-1234-1234-1234-123456789abc","Guid":"12345678-1234-1234-1234-123456789abc"}
# Via -InputObject (string)
"12345678-1234-1234-1234-123456789abc"
Environment data
Name Value
---- -----
PSVersion 7.5.1
PSEdition Core
GitCommitId 7.5.1
OS Microsoft Windows 10.0.26100
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Prerequisites
Summary
ConvertTo-Jsonproduces different JSON output for the sameGuidvalue depending on whether it is passed via pipeline or via-InputObjectparameter.Steps to reproduce
Expected behavior
Actual behavior
Environment data