internal.ps1
特定のパラメーターを受け入れるスクリプトがあります。
param ($paramA, $paramB)
Write-Host $PSBoundParameters
caller.ps1
そして、それを呼び出すスクリプト:
.\internal -paramA A -paramB B
それはうまくいきます:
PS C:\temp> .\caller
[paramA, A] [paramB, B] <<<< bounded to both params
ただし、呼び出し元では、パラメーターを var の内部に保持し、後で使用したいと考えています。ただし、それは機能しません。
$parms = "-paramA A -paramB B"
# Later...
.\internal $parms
Result: [paramA, A -paramB B] <<<<< All got bounded to ParamA
配列を使用することもありません。
$parms = @("A", "B")
# Later...
.\internal $parms
Result: [paramA, System.Object[]] <<<< Again, all bound to ParamA
どうすればこれを達成できますか? 実際のコマンドラインはより複雑で、長さが不明な場合があることに注意してください。