azure 目标计算机上的PowerShell v2.* 日志

5cnsuln7  于 12个月前  发布在  Shell
关注(0)|答案(1)|浏览(84)

我试图在服务器上部署时执行powershell脚本,因此我使用了名为“PowerShell on Target Machines v2.*”的Azure CI/CD任务,但我没有从该powershell脚本中获取任何日志。
我们是否有任何命令或方法来接收目标服务器上执行的powershell脚本到CI/CD日志窗口的所有日志/输出。
脚本执行良好,但每当抛出任何错误时,我希望该错误消息显示在CI/CD日志中。
我尝试了版本1,然后转到版本2,在异常处理下,我设置了退出代码1。但管道日志中仍然没有收到异常

2fjabf4q

2fjabf4q1#

我可以用任务V2复制相同的内容,你可以使用V3,它将显示输出/错误。
x1c 0d1x的数据
我的powershell脚本:

try {
    # Create a new directory
    New-Item -Path C:\Users\Test -Name NewDir -ItemType Directory -ErrorAction Stop
} catch {
    # Display the error details
    Write-Host "An error occurred:" -ForegroundColor Red
    Write-Host $_.Exception.Message -ForegroundColor Red
    Write-Host $_.ErrorDetails.Message -ForegroundColor Red
}

字符串
V2任务中,输出如下:

V3任务上,输出如下:

**编辑:**PowerShell on Target Machines任务实际上是运行enter-pssession来连接到远程机器。如果您无法运行V3任务,可以使用powershell task代替。脚本示例如下:

$username = 'username'
$password = 'password'
$computername = $(computernameorip)
$secureString = ConvertTo-SecureString -AsPlainText -Force -String $password
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username,$secureString
$cred = [PSCredential]::New($username,$secureString)
$session = New-PSSession -ComputerName $(computernameorip) -Credential $cred

Enter-PSSession -Session $session
Invoke-Command -FilePath C:\test\test2.ps1 -Session $session
Exit-PSSession



流水线结果:

相关问题