Azure DevOps-从PS脚本中调用PS脚本

时间:2020-03-09 19:12:22

标签: powershell azure-devops azure-powershell

您是否不能从Azure PowerShell任务中的脚本内调用脚本?

背景-

我有一个Azure回购,里面有两个脚本(我们叫它们 script0 script1 )。没有正在进行的构建,因此没有构建管道。只有一个发布管道。它从中提取的工件是 Azure Repository Git 。 (发布)管道中只有一项任务,这是Azure PowerShell任务。

在主要脚本 script0 中,我有一个for循环,它要求我运行 script1 (除了循环)。

对于我的一生,我无法弄清楚该如何实现。最糟糕的是,它在本地运行。此外,其他所有内容都可以循环运行。我已经尝试了很多方法来解决它,但是现在我将仅以此开始:运行时抛出的错误

$TeamFoundationCollectionUri$TeamProject/testscript.ps1 $stage $FunctionHosts[$i] (($hashtable | select -First 6).Key[$i]) $ResourceGroupName $location $functionApps $AdminClientSecret $VaultName $JsonFile

(现在,请注意-这是 script0 -主脚本的一部分)。

这是错误:

enter image description here

模糊区域是 script0 testscript.ps1 script1

我几乎尝试了所有东西

  1. 使用呼叫接线员&
  2. 使用\,/,//
  3. 调用表达式-命令“ <code here>”
  4. 调用命令
  5. 还尝试了powershell.exe -Command <code here>

您可以说,这些都不起作用。

1 个答案:

答案 0 :(得分:1)

我通过在脚本所在的路径之前使用Call运算符(&)来完成此工作。所以,我这样做了:

& $(System.ArtifactsDirectory)\$(System.TeamProject)\testscript.ps1 <pass the params here>

成功了。