如何在ADO管道Powershell中从变量中获取和设置数组?

ru9i0ody  于 2022-12-23  发布在  Shell
关注(0)|答案(1)|浏览(120)

我在yaml文件中有以下代码:

trigger:
   branches:
        include: 
        - maventest
pool:

  vmImage: ubuntu-latest

steps:

- task: PowerShell@2
  inputs:
    filePath: './1.ps1'

以下是1.ps1文件

$user1=@($(user))

Write-Host $(user)

write-host $user1[0]

因为我可以在运行管道时传递变量的值,但用户无法从变量. x1c 0d1x中获取
我还使用了$(env:user),但它没有从变量.

中获取值

yhuiod9q

yhuiod9q1#

从您的YAML示例中可以看出,问题的原因是管道变量无法在PowerShell文件中直接展开。
要解决此问题,您可以通过PowerShell任务的参数将管道变量传递到ps文件。
下面是一个例子:

Ps文件示例:

param($user)
$user1=@($user)

Write-Host $user

write-host $user1[0]

管道样本:

steps:

- task: PowerShell@2
  inputs:
    filePath: './1.ps1'
    arguments: '-user $(user)'

结果:

相关问题