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

如何通过Azure门户获取VM指定路径XML文件的值以查看软件版本

能否通过Azure门户获取所有Azure VM中指定路径下XML文件的值?

直接通过Azure门户的原生基础功能无法直接提取所有VM指定路径下XML文件的值,但可以通过组合Azure的其他服务实现这个需求,以下是几种可行方案:

  • Azure Policy + 来宾配置(Guest Configuration)

    • 创建自定义来宾配置策略,定义要检查的XML文件路径以及需要提取的节点值(比如软件版本对应的XML节点)。
    • 确保目标VM已安装Guest Configuration代理(Azure VM默认预装,非Azure VM需加入Azure Arc)。
    • 配置完成后,在Azure门户的「策略」面板中查看所有VM的合规性报告,报告中会包含提取到的XML节点值,以此查看每台VM的软件版本。
  • Azure Automation Runbook

    • 在Azure门户中创建PowerShell或Python类型的Runbook,编写脚本通过Azure VM代理远程连接到目标VM,读取指定路径的XML文件并提取版本信息。
    • 将提取到的版本数据存入Azure Monitor Logs或存储账户,之后可在门户的「Log Analytics」中查询、汇总所有VM的版本信息。
    • 简单PowerShell脚本示例:
      # 替换为你的VM和资源组名称
      $vmName = "TargetVM"
      $resourceGroup = "VMResourceGroup"
      # 远程执行脚本读取XML并提取版本
      Invoke-AzVMRunCommand -ResourceGroupName $resourceGroup -VMName $vmName -CommandId 'RunPowerShellScript' -ScriptString {
          $xmlFilePath = "C:\App\Config\Version.xml"
          $xmlDoc = [xml](Get-Content $xmlFilePath)
          # 替换为你的XML节点路径
          $softwareVersion = $xmlDoc.ApplicationInfo.Version
          Write-Output $softwareVersion
      }
      
  • Log Analytics代理 + 自定义日志解析

    • 在所有目标VM上安装Log Analytics代理,在Azure门户中配置自定义日志收集规则,指定要收集的XML文件路径。
    • 利用Kusto查询语言在「Log Analytics」中解析收集到的XML原始数据,提取软件版本并进行汇总展示。
    • 简单Kusto查询示例:
      CustomLogs
      | where Computer != ""
      | parse RawData with * "<Version>" softwareVersion "</Version>" *
      | project Computer, softwareVersion
      | summarize by Computer, softwareVersion
      

以上方案都可以在Azure门户内完成操作,最终实现批量查看所有VM上的软件版本信息。

内容的提问来源于stack exchange,提问作者Marvin B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:45:04