如何使用PowerShell动态调用Commandlet?

时间:2018-06-27 06:21:19

标签: powershell

我正在尝试动态使用Commandlet(我正在使用NavContainerHelper)。

我的参数在System.Collections.Generic.List类型的string中:

$navContainerHelperParameters = New-Object 'System.Collections.Generic.List[string]'
$navContainerHelperParameters.Add("-accept_eula")

在调用Commandlet New-NavContainer @navContainerHelperParameters之前,我已经尝试过使用@,但是这没有按预期工作。

动态调用Commandlet的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

最好的方法是使用splatting,它要求在哈希表中设置参数,然后将变量名的@ infront传递给cmdlet。您可以通过将值设置为$ true来设置switch参数。

$navContainerHelperParameters = @{}
[void]$navContainerHelperParameters.Add("accept_eula",$true)
New-NavContainer @navContainerHelperParameters