Skip to content

Transport: out-of-process (NamedPipe / stdio / Hyper-V / Container) #48

Description

Gap

Beyond WinRM and SSH, native PowerShell supports several out-of-process transports, all sharing one PSGuid-tagged XML packet protocol (Data/DataAck, Command/CommandAck, Close/CloseAck, Signal/SignalAck). We have none. (pypsrp also lacks these; this is native-C#-only territory.)

This is an umbrella/tracking issue — split into sub-issues when picked up. Depends on the transport abstraction from the SSH issue.

Variants

  • stdio / OutOfProc — launch a local pwsh and speak the packet protocol over its stdin/stdout.
  • NamedPipeEnter-PSHostProcess style attach to a local PowerShell process via its named pipe.
  • Hyper-V (VMBus socket, AF_HYPERV)PowerShell Direct into a VM.
  • Container — Hyper-V socket or named-pipe fallback into a container.

Required

  • Reuse the transport abstraction + out-of-proc packet codec (see SSH issue).
  • Implement each transport's connect/spawn + framing.
  • Priority order suggestion: stdio/OutOfProc → NamedPipe → Hyper-V → Container.

References

  • Native C# src/System.Management.Automation/engine/remoting/fanin/OutOfProcTransportManager.cs (all variants + packet protocol), RemoteSessionNamedPipe.cs, RemoteSessionHyperVSocket.cs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions