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

如何使用PowerShell连接URL读取VMware ESXi版本与内部编号对应XML表格

PowerShell读取ESXi版本与内部版本号对应表脚本

前置要求

  • PowerShell 5.1 或 Core 6.0+ 版本
  • 运行环境可正常访问VMware官方公开的版本对应表页面

完整可运行脚本

# 替换为VMware官方ESXi版本对应表的公开访问地址
$officialTableUrl = "<VMware官方ESXi版本对应表URL>"

# 适配TLS 1.2 访问要求,避免HTTPS请求失败
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# 发起页面请求,使用基础解析模式无需IE引擎支持
$webResponse = Invoke-WebRequest -Uri $officialTableUrl -UseBasicParsing

# 匹配页面内的版本对应表格,可根据官方页面实际结构调整匹配关键词
$targetTable = $webResponse.ParsedHtml.getElementsByTagName('table') | Where-Object {
    $_.innerText -match '内部版本号|Build Number.*版本|Version'
} | Select-Object -First 1

# 解析表格内容为结构化对象
$versionMapping = @()
$tableRows = $targetTable.rows
# 提取表头
$headers = $tableRows[0].cells | ForEach-Object { $_.innerText.Trim() }

# 遍历行提取数据
for ($rowIndex = 1; $rowIndex -lt $tableRows.Count; $rowIndex++) {
    $currentRow = $tableRows[$rowIndex].cells
    $rowData = [PSCustomObject]@{}
    for ($colIndex = 0; $colIndex -lt $headers.Count; $colIndex++) {
        $rowData | Add-Member -NotePropertyName $headers[$colIndex] -NotePropertyValue $currentRow[$colIndex].innerText.Trim()
    }
    $versionMapping += $rowData
}

# 输出测试:查看所有ESXi 8.0的版本对应关系
$versionMapping | Where-Object { $_.'版本' -match 'ESXi 8.0' } | Format-Table -AutoSize

# 导出全部数据到本地CSV文件
# $versionMapping | Export-Csv -Path "./ESXi版本对应表.csv" -NoTypeInformation -Encoding UTF8

使用说明

  • 如遇HTTPS证书校验失败场景,可自行添加证书忽略代码段,非特殊场景不建议开启
  • 官方页面结构调整时,需要同步修改表格匹配的关键词规则,确保可以正确定位到目标表格
  • 可根据实际需求修改筛选条件,快速查询对应版本的内部版本号信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 06:18:01