执行 AzurePipeline powershell 任务时,管道输入到 PowerShell 可执行文件时会出现错误 � 字符被添加到命令中

问题描述 投票:0回答:1

我正在尝试在 Azure 管道 Powershell 脚本中运行以下行。

- task: PowerShell@2
  displayName: 'Run test sequence'
  inputs:
    targetType: 'inline'
    script: |
            Write-Host "Running test sequence..."      
       
            $AppConfig = "$(System.DefaultWorkingDirectory)\myapplicationfile.xml"
            $RunMcsProduct = "$(System.DefaultWorkingDirectory)\myapplicationFolder"
            $SimulatedQuickDeviceConfig = "$(System.DefaultWorkingDirectory)\myDevicefile.xml"

            # Run Product exe with arguments
            $exeArguments = $AppConfig , $SimulatedQuickDeviceConfig
            Set-Location -Path $RunMcsProduct
            $appCmd = ".\myapplication.exe"
            
            "init-instrument" | & $appCmd $exeArguments           

            Write-Host "Complete."

当管道运行时,我收到以下错误。 (抱歉,由于日志中存在一些敏感信息,我无法显示整个日志。

enter image description here

但是,我可以在本地计算机上成功执行相同的脚本。

powershell azure-pipelines command
1个回答
0
投票

这里的解决方案对我有帮助。 链接

上面的链接提到了两种解决方案。对我有用的如下。

        # Create txt tempFileand add commands to it
        new-item -path $tempFile.txt  -type file
        "command1" | add-content -path $tempFile
        "command2" | add-content -path $tempFile 


        Start-Process -Wait -NoNewWindow -RedirectStandardInput $tempFile -FilePath findstr.exe -ArgumentList hi 

        # Cleanup temp file
        $tempFile | Remove-Item
© www.soinside.com 2019 - 2024. All rights reserved.