在规模不断扩大的 VMware 环境中,了解资源状态不仅仅是一项日常工作;它是安全、容量规划和灾难恢复的必要条件。如果你的 VM 数据仍被困在 vCenter UI 中,你就已经落后一步了。

本指南跳过冗余内容,提供四种专业方法来导出完整的 VM 清单,从简单的图形界面导出到高速自动化。无论你需要快速的状态报告还是深入的技术审计,这些经过技术人员验证的方法都能帮助你立即掌控基础设施数据。

保护你刚刚清点的每一台 VM

i2Backup 为 VMware VM 提供无代理、自动化备份——具备即时恢复能力,并可在整个 vCenter 环境中集中管理。了解 i2Backup 如何工作 »

免费试用

如何通过 vSphere Client 从 vCenter 导出 VM 清单

对大多数管理员来说,内置的 vSphere Client 图形界面是执行 vSphere 导出虚拟机清单的最快方式。此方法无需脚本知识,可直接在浏览器中操作。

此方法最适合快速审计、需要状态报告的非技术管理者,或尚未将自动化列为优先事项的小型环境。它是获取干净清单快照的即时解决方案。

从 vcenter 导出所有 vm 清单的 vsphere client 操作界面

分步指南

具体步骤因 vCenter 版本而略有不同。以下是处理现代环境的方法:

  1. 登录 vSphere Client(Web Client:https://<vCenter-IP>/ui;Desktop Client:vSphere Client 6.7+)。
  2. 在左侧导航菜单中,选择 Inventory 并导航到 VMs and Templates。
  3. 使用顶部筛选器选择 All VMs(确保所有 VM 可见——如有需要请调整分页)。
  4. 点击搜索栏旁边的 Export 按钮(通常看起来像一个带向上箭头的托盘)。
  5. 将出现一个窗口。选择所需的列并选择格式(CSV 为标准格式)。
  6. 点击 Save 导出完整的 VM 清单。
提示:对于 vCenter 8.x,’Export List’ 按钮隐藏在 ‘⋮’(更多选项)菜单下——请在那里寻找 ‘Export’。

通过 vSphere Client 导出 VM 清单的优点

  • 速度:不到一分钟即可完成。
  • 用户友好:无需技术编码或安装 PowerCLI。
  • 原生工具:无需信任第三方脚本或外部软件。

通过 vSphere Client 导出 VM 清单的缺点

  • 自定义受限:你只能导出屏幕上看到的内容。不容易包含特定的 MAC 地址或单个磁盘路径等深度技术细节。
  • 手动流程:无法轻松安排计划;每次都需要登录并点击按钮。

如何使用 PowerCLI 导出所有 VM 清单

如果你管理的主机不止几台,PowerCLI 就是黄金标准。它是 VMware 官方的命令行工具,基于 PowerShell 构建。PowerCLI 允许你自定义特定数据字段,并在几秒内处理数千台 VM——这些任务在图形界面中会非常繁琐。

使用 PowerCLI 从 vCenter 导出清单是确保清点数据干净、可重复并可用于专业报告的绝佳方式。

分步说明

步骤 1:安装 PowerCLI

如果你之前没有使用过,请以管理员身份打开 PowerShell 并运行:

powershell
Install-Module -Name VMware.PowerCLI -Scope CurrentUser -Force

步骤 2:连接到你的 vCenter Server

将占位符替换为你的实际服务器详细信息:

powersehll
Connect-VIServer -Server <vCenter-IP/FQDN> -User  -Password 

步骤 3:导出所有 VM(基本清单)

此命令获取标准详细信息并将其保存为 CSV:

powersehll
Get-VM | Export-Csv -Path "C:\vCenter_VM_List.csv" -NoTypeInformation -Encoding UTF8

步骤 4:导出自定义字段(专业方式)

管理员通常需要 IP 地址和 UUID 等具体详细信息来进行清单映射。请使用此高级脚本:

powersehll
Get-VM | Select-Object Name, @{N="IP Address";E={$_.Guest.IPAddress -join ","}}, NumCpu,
MemoryGB, VMHost, Datastore, UUID | Export-Csv -Path "C:\Custom_VM_List.csv"
-NoTypeInformation -Encoding UTF8
提示:始终使用 -Encoding UTF8。如果你的 VM 名称包含特殊符号或非英文字符,这可以防止 Excel 显示”乱码”。

步骤 5:断开连接(最佳实践)

完成后务必关闭会话以释放 vCenter 资源:

powersehll
Disconnect-VIServer -Server * -Confirm:$false

使用 PowerCLI 导出所有 VM 清单的优点

  • 大规模可扩展性:轻松导出 1,000+ 台 VM,浏览器不会卡顿。
  • 完全可自定义:你可以精确选择要包含哪些数据列(如 RAM、CPU 或 UUID)。
  • >自动化就绪:非常适合安排每周报告。

使用 PowerCLI 导出所有 VM 清单的缺点

  • 学习曲线:需要对 PowerShell 有基本了解。
  • 设置:需要一次性安装 PowerCLI 模块。

如何使用 REST API 从 vCenter 导出 VM 清单

对于开发人员和 DevOps 工程师来说,使用 vCenter REST API 导出 VM 清单是最强大的选择。借助 vSphere Automation API,你可以将清点数据直接集成到自定义仪表板、CMDB 或 CI/CD 管道中,而无需依赖手动工具。

分步说明(Python 示例)

要使用此方法,你需要安装 Python 以及 requests 库。此脚本处理身份验证、数据检索和 CSV 生成。

步骤 1:身份验证并获取会话令牌

首先,与 vCenter 建立安全会话以接收身份验证令牌。

python
import requests
import csv
from requests.packages.urllib3.exceptions import InsecureRequestWarning

# Disable SSL warnings for self-signed certificates
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

vcenter_ip = ""
username = ""
password = ""

# Get auth token
auth_url = f"https://{vcenter_ip}/rest/com/vmware/cis/session"
response = requests.post(auth_url, auth=(username, password), verify=False)
token = response.json()["value"]
headers = {"vmware-api-session-id": token}

步骤 2:获取 VM 数据

身份验证后,我们查询 vcenter/vm 端点以拉取原始清点数据。

python
vm_url = f"https://{vcenter_ip}/rest/vcenter/vm"
vm_response = requests.get(vm_url, headers=headers, verify=False)
vm_data = vm_response.json()["value"]

步骤 3:解析并导出到 CSV

最后,遍历 JSON 响应并将特定字段写入本地 CSV 文件。

python
with open("vCenter_VM_List_API.csv", "w", newline="", encoding="utf8") as f:
    writer = csv.writer(f)
    # Define headers
    writer.writerow(["VM Name", "Power State", "CPU Count", "Memory (GB)"])
    
    for vm in vm_data:
        # Convert MiB to GB for better readability
        memory_gb = vm.get("memory_size_MiB", 0) / 1024
        writer.writerow([vm["name"], vm["power_state"], vm["cpu_count"], memory_gb])

print("Export Complete: vCenter_VM_List_API.csv")

使用 vCenter REST API 的优点:

  • 深度集成:非常适合将 VM 数据提供给其他软件。
  • 高性能:对于超大型全球环境,比图形界面更快。
  • 平台无关:可在 Linux、macOS 或 Windows 上运行——任何能运行 Python 的地方。

使用 vCenter REST API 的缺点:

  • 技术门槛:需要编程知识(Python、JavaScript 或类似语言)。
  • 对基础需求过于复杂:如果你只需要一次清单,方法 1 或 2 要快得多。

使用第三方工具从 vCenter 导出 VM 清单

对于需要更多技术深度或特定平台灵活性的管理员来说,以下两款工具是提取 vCenter 数据的行业首选。

  • RVTools 是一款免费的 Windows 实用工具,可提供环境的高度详细”快照”。它不只是简单清单,而是导出一个多标签页的 Excel 电子表格,涵盖从 VM CPU 和内存到快照和”僵尸”文件的所有内容。它是深度健康检查和容量规划的最佳选择。
  • govc 是 VMware 官方的开源二进制文件,使用 Go 编写。它专为需要快速、无依赖方式查询 vCenter 的 Linux 和 macOS 用户而设计。由于它不需要图形界面或 PowerShell,非常适合通过 Linux 终端或简单 shell 脚本进行快速清单检查。

使用 i2Backup 安全管理 VMware 数据

导出 VM 清单是实现基础设施可见性的第一步,但仅有可见性并不能防止数据丢失。一旦你通过清单导出确定了关键工作负载,下一个优先事项就是确保它们受到保护。

i2Backup 通过强大的无代理备份解决方案,实现从”了解你拥有什么”到”保护你拥有什么”的无缝过渡。

  • 集中管理:通过 i2Backup 的管理界面,你可以集中管理多个虚拟化环境中虚拟机的备份和恢复任务。
  • 灵活的备份策略:支持多种备份策略,包括完整备份、增量备份和差异备份,以满足不同场景的需求。
  • 即时恢复:数据灾难发生后可直接从 VMware 备份运行 VM,无需等待长时间完整恢复,可在几分钟内实现业务恢复。
  • 自动化任务:支持高精度调度——按分钟、小时、天或周。这种自动化消除了人工干预,确保你的 VM 清单全天候受到保护,避免人为错误。

结论

选择正确的导出方法取决于你的目标:使用 vSphere Client 追求速度,使用 PowerCLI 追求规模,使用 REST API 追求集成,或使用第三方工具进行深度审计。

但是,请记住 CSV 文件只是一个快照。要真正掌控你的环境,请利用该清单构建弹性的数据策略。从手动跟踪过渡到像 i2Backup 这样的自动化无代理解决方案,可确保你识别出的每台 VM 不仅被记录在案,而且得到充分保护和可恢复。不要再只是列出你的资产——开始保护它们。

博客分类底部

准备好构建企业数据韧性了吗?

立即开启 60 天免费试用,或预约产品演示,了解英方软件如何为您的核心业务提供「零中断、零丢失」的数据保护。

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件公告
各位求职者、合作伙伴:
近期有第三方冒用英方名义发布虚假招聘、不实业务信息。我司正规招聘全程零收费,非官网渠道信息均不作数。
信息核验热线:400-0078-655
遇诈骗请保留证据,及时联系我们并报警
英方软件
2026 年 6 月 23 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1