如何自动化 VMware 到 AVD 迁移:完整指南
2026-10-22
2026-10-22
2026-10-22
2026-10-20
在规模不断扩大的 VMware 环境中,了解资源状态不仅仅是一项日常工作;它是安全、容量规划和灾难恢复的必要条件。如果你的 VM 数据仍被困在 vCenter UI 中,你就已经落后一步了。
本指南跳过冗余内容,提供四种专业方法来导出完整的 VM 清单,从简单的图形界面导出到高速自动化。无论你需要快速的状态报告还是深入的技术审计,这些经过技术人员验证的方法都能帮助你立即掌控基础设施数据。
i2Backup 为 VMware VM 提供无代理、自动化备份——具备即时恢复能力,并可在整个 vCenter 环境中集中管理。了解 i2Backup 如何工作 »
对大多数管理员来说,内置的 vSphere Client 图形界面是执行 vSphere 导出虚拟机清单的最快方式。此方法无需脚本知识,可直接在浏览器中操作。
此方法最适合快速审计、需要状态报告的非技术管理者,或尚未将自动化列为优先事项的小型环境。它是获取干净清单快照的即时解决方案。

具体步骤因 vCenter 版本而略有不同。以下是处理现代环境的方法:
如果你管理的主机不止几台,PowerCLI 就是黄金标准。它是 VMware 官方的命令行工具,基于 PowerShell 构建。PowerCLI 允许你自定义特定数据字段,并在几秒内处理数千台 VM——这些任务在图形界面中会非常繁琐。
使用 PowerCLI 从 vCenter 导出清单是确保清点数据干净、可重复并可用于专业报告的绝佳方式。
步骤 1:安装 PowerCLI
如果你之前没有使用过,请以管理员身份打开 PowerShell 并运行:
Install-Module -Name VMware.PowerCLI -Scope CurrentUser -Force
步骤 2:连接到你的 vCenter Server
将占位符替换为你的实际服务器详细信息:
Connect-VIServer -Server <vCenter-IP/FQDN> -User -Password
步骤 3:导出所有 VM(基本清单)
此命令获取标准详细信息并将其保存为 CSV:
Get-VM | Export-Csv -Path "C:\vCenter_VM_List.csv" -NoTypeInformation -Encoding UTF8
步骤 4:导出自定义字段(专业方式)
管理员通常需要 IP 地址和 UUID 等具体详细信息来进行清单映射。请使用此高级脚本:
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
步骤 5:断开连接(最佳实践)
完成后务必关闭会话以释放 vCenter 资源:
Disconnect-VIServer -Server * -Confirm:$false
对于开发人员和 DevOps 工程师来说,使用 vCenter REST API 导出 VM 清单是最强大的选择。借助 vSphere Automation API,你可以将清点数据直接集成到自定义仪表板、CMDB 或 CI/CD 管道中,而无需依赖手动工具。
要使用此方法,你需要安装 Python 以及 requests 库。此脚本处理身份验证、数据检索和 CSV 生成。
步骤 1:身份验证并获取会话令牌
首先,与 vCenter 建立安全会话以接收身份验证令牌。
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 端点以拉取原始清点数据。
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 文件。
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 数据的行业首选。
导出 VM 清单是实现基础设施可见性的第一步,但仅有可见性并不能防止数据丢失。一旦你通过清单导出确定了关键工作负载,下一个优先事项就是确保它们受到保护。
i2Backup 通过强大的无代理备份解决方案,实现从”了解你拥有什么”到”保护你拥有什么”的无缝过渡。
选择正确的导出方法取决于你的目标:使用 vSphere Client 追求速度,使用 PowerCLI 追求规模,使用 REST API 追求集成,或使用第三方工具进行深度审计。
但是,请记住 CSV 文件只是一个快照。要真正掌控你的环境,请利用该清单构建弹性的数据策略。从手动跟踪过渡到像 i2Backup 这样的自动化无代理解决方案,可确保你识别出的每台 VM 不仅被记录在案,而且得到充分保护和可恢复。不要再只是列出你的资产——开始保护它们。
公告
邮件
销售