Skip to content

Add a way to specify a value for $PSNativeCommandArgumentPassing #210

@sdwheeler

Description

@sdwheeler

Summary of the new feature / enhancement

Take for example the Windows native command vaultcmd.exe. That command has parameters that take values that require quotes. When $PSNativeCommandArgumentPassing = 'Windows' (which is the default) the command fails. When set to Legacy it works.

Example

vaultcmd /listcreds:"windows credentials"

Output

Credentials in vault: windows credentials

Credential schema: Windows Domain Password Credential
Resource: Domain:target=mydomain
Identity: COMPUTER\admin
Hidden: No
Roaming: No
Property (schema element id,value): (100,3)
Property (schema element id,value): (101,SspiPfc)

Credential schema: Windows Domain Password Credential
Resource: Domain:target=myotherpc
Identity: liveaccount@live.com
Hidden: No
Roaming: No
Property (schema element id,value): (100,3)
Property (schema element id,value): (101,SspiPfc)
$cmd = 'vaultcmd'
$arg = '/listcreds:"windows credentials"'
& $cmd $arg

Output

Invalid vault: Element not found.

When you switch to Legacy mode, the command invocation works.

$PSNativeCommandArgumentPassing = 'Legacy'
& $cmd $arg

Output

Credentials in vault: windows credentials

Credential schema: Windows Domain Password Credential
Resource: Domain:target=mydomain
Identity: COMPUTER\admin
Hidden: No
Roaming: No
Property (schema element id,value): (100,3)
Property (schema element id,value): (101,SspiPfc)

Credential schema: Windows Domain Password Credential
Resource: Domain:target=myotherpc
Identity: liveaccount@live.com
Hidden: No
Roaming: No
Property (schema element id,value): (100,3)
Property (schema element id,value): (101,SspiPfc)

Proposed technical implementation details (optional)

Add a property that allows you to set the value of $PSNativeCommandArgumentPassing.

Add the assignment to the begin block of the cmdlet function generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions