Skip to content

PSRP: GET_COMMAND_METADATA support #44

Description

Gap

GET_COMMAND_METADATA is not implemented (message-type ID only). This message powers Get-Command metadata retrieval and implicit remoting (proxy-function generation). Both pypsrp/psrpcore and native C# implement it.

Note: our interactive tab-completion works via a different path (running a command), so this is additive, not a regression.

Current state

  • Enum ID only: crates/ironposh-psrp/src/cores.rs (~lines 47, 83). No request builder, no response parsing.

Required

  • Build the GET_COMMAND_METADATA pipeline message (command name patterns, command types, module names, ArgumentList).
  • Parse the streamed response: CommandMetadataCount, CommandMetadata, ParameterMetadata objects.
  • Expose a client-core API (e.g. get_command_metadata(...)).

Acceptance

  • An e2e test retrieving metadata for a known cmdlet (e.g. Get-Process) and asserting parameter metadata is parsed.

References

  • psrpcore src/psrpcore/_pipeline.py (GetMetadata) + _client.py ClientGetCommandMetadata.
  • pypsrp powershell.py get_command_metadata.
  • Native C# EncodeAndDecode.cs GenerateGetCommandMetadata (~line 787).

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