You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中记录各服务器.NET SDK安装的起止时间?

可以标记每台服务器的SDK安装时间

当然可以,你只需要在远程执行的脚本块里加个时间记录逻辑,把相关信息输出到Azure Pipeline日志里,就能清晰追踪每台服务器的安装耗时和状态。

修改后的脚本示例

Invoke-Command -ComputerName $computers -Credential $credential {
    # 记录当前服务器的安装开始时间
    $installStartTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff"
    Write-Host "[$env:COMPUTERNAME] .NET SDK 安装开始时间: $installStartTime"

    # 执行SDK安装,捕获进程退出码判断结果
    $installProcess = Start-Process -FilePath "c:\temp\dotnet-sdk-8.0.303-win-x64.exe" `
        -ArgumentList "/install /quiet /norestart" -Wait -PassThru

    # 记录安装结束时间并计算耗时
    $installEndTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff"
    $installDuration = (Get-Date $installEndTime) - (Get-Date $installStartTime)
    $installStatus = if ($installProcess.ExitCode -eq 0) { "成功" } else { "失败,退出码: $($installProcess.ExitCode)" }

    # 输出完整安装信息到Pipeline日志
    Write-Host "[$env:COMPUTERNAME] .NET SDK 安装结束时间: $installEndTime"
    Write-Host "[$env:COMPUTERNAME] 安装耗时: $($installDuration.TotalSeconds) 秒"
    Write-Host "[$env:COMPUTERNAME] 安装状态: $installStatus"
}

核心细节说明

  • 用$env:COMPUTERNAME获取当前服务器名称,确保每条日志都能对应到具体机器
  • 时间格式保留毫秒级精度,方便精准排查耗时差异
  • 替换直接执行exe为Start-Process,能捕获安装程序的退出码,准确判断安装是否成功
  • Write-Host的输出会直接显示在Azure Pipeline的任务日志中,无需额外配置就能查看

内容的提问来源于stack exchange,提问作者Rod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 21:41:13