如何构建一个属性数组以传递给Powershell中的Invoke-Command?

时间:2014-07-02 21:53:07

标签: powershell

我需要使用Invoke-Command在域内/远程的远程机器上执行Powershell脚本块。

我有以下内容:

Invoke-Command -ComputerName $targetServer -ArgumentList @($selectedProjects, $targetURI, $buildRetention) -ScriptBlock $cleanupSB -Credential $PSCred

该物业" -Credential $ PSCred"仅当我想在域外的机器上执行时才需要,因此我想动态构造与" Invoke-Command"

一起使用的属性

我尝试创建一个数组,如:

$prop = @("-Credential", "`$PSCred")
Invoke-Command -ComputerName $targetServer -ArgumentList @($selectedProjects, $targetURI, $buildRetention) -ScriptBlock $cleanupSB $($prop)

但是,这并不是我想要的解释。有没有我可以动态创建这些参数并使用它们与Invoke-Command?谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用splatting构建条件参数列表。

您还可以在PowerShell提示符下查看此主题:

PS C:\> help about_Splatting