如何将选定的参数传递给Powershell脚本,该脚本在Microsoft TFS中接受多个argumnets?

时间:2017-06-19 06:56:00

标签: powershell tfs

我有一个脚本,其参数为

.\script1.ps1 -Arg1 "Argument 1" -Arg2 "Argument 2"

我已将TFS中参数的格式设置为:

.\script.ps1 -Arg1 $($arg1) -Arg2 $($Arg2)

当我尝试传递Arg2时,我收到以下错误:

  

缺少参数'Arg1'的参数。指定类型的参数   'System.String []'再试一次。

1 个答案:

答案 0 :(得分:1)

根据您的问题,您将参数放在变量中。我怀疑你只是在尝试传递Arg2时输入$ Arg2变量的值。在这种情况下,powershell脚本以下列格式运行,因为Arg1参数为空,导致出现错误消息:

.\script.ps1 -Arg1 -Arg2 Arg2Value

解决方法是使用变量直接控制参数。例如,在构建定义中添加两个变量:Arg1和Arg2 enter image description here

在PowerShell脚本任务参数中,只需输入:$(Arg1) $(Arg2) enter image description here

使用此功能,如果只想传递Arg2,则可以在构建队列时将Arg1变量设置为空。