Skip to content

Use of SemanticVersion in $PSVersionTable Breaks Remoting #1589

Closed

Description

Steps to reproduce

$s = New-PSSession .

Expected behavior

Actual behavior

nsn : [10.123.170.144] Connecting to remote server 10.123.170.144 failed with the following error message : The WSMan provider host process did not return a proper response. A provider in the host process may have behaved improperly.
For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:6

  • $s = nsn -ComputerName .
  •  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
      gTransportException
    • FullyQualifiedErrorId : 1726,PSSessionOpenFailed

Environment data

6.0.0-alpha8

Root cause:

PSRP does not support serialization and deserialization of SemanticVersion.

Activity

  1. added this to the milestone on Aug 1, 2016
  2. daxian-dbw commented on Aug 1, 2016

    @daxian-dbw
    Member

    Jason Shirk (@lzybkr) PSPrimitiveDirectionary.VerifyValue(object value) would throw ArgumentException for SemanticVersion value when the server side is running ServerRunspacePoolDriver.SendApplicationPrivateDataToClient(), so SemanticVersion should be added to "handshakeFriendlyTypes"

    However, this won't solve the problem of "downlevel client remotes to new PowerShell Core", since the downlevel client doesn't know how to deserialize a SemanticVesion string.

  3. mirichmo commented on Aug 1, 2016

    @mirichmo
    MemberAuthor

    Aren't all shipped versions of PowerShell downlevel clients since they don't include support for SemanticVersion? By that logix, since this change only exists in PowerShell Core, so Server 2016 and NanoServer are downlevel.

  4. daxian-dbw commented on Aug 1, 2016

    @daxian-dbw
    Member
  5. raghushantha commented on Aug 2, 2016

    @raghushantha
    Member

    Interesting. So, what is our version compat story?

    Can PowerShell Core manage downlevel instances? (i.e PSVersion <=5.1)

    And downlevel clients connecting to PowerShell Core instances?

  6. mirichmo commented on Aug 2, 2016

    @mirichmo
    MemberAuthor

    Yes and yes. PowerShell Core 6.0 needs to maintain compatibility with all supported downlevel versions of PS. That would mean PS 3.0+ (Windows 8+). Win7 will require a WMF to work, but not necessarily WMF 5.1 (WMF 3.0+)

  7. lzybkr commented on Aug 3, 2016

    @lzybkr
    Contributor

    Fixed with 2b70837

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions