学习目标
到本文结尾,它将:
- 了解如何使用PowerCli安全连接到VCINTER或ESXI。
- 以可重复使用的格式恢复和导出明显的设备信息。
- 将PowerCli Textual软件与Python合并,以进行全面的自动化。
- 想象一下清晰的计划图纸的工作流程。
我在Gabbap上的个人仓库
Github上的VMware仓库
基本要求
- 安装了第1条和第2条(PowerCli和Python)。
- 使用有效的认证数据访问VMware Vcenter或独立ESXI主机。
- Windows(需要PowerCli Windows PowerShell)。
- 文本编程和导出的管理权限。
1。PowerCli连接
对于VMware自动化,您首先需要与环境联系。
PowerCli 使用 Connect-VIServer
CMDLET与VCINTER或ESXI创建安全的会话。
2。示例:PowerShell文本交付和恢复VM信息
让我们创建一个文字:
- 包含veptter/esxi
- 召回所有VM的列表,包括其名称,功率条件,来宾操作系统和IP地址
- 数据发放到CSV文件
保存为 get_vm_info.ps1
:
# Import PowerCLI
Import-Module VMware.PowerCLI
# Disable certificate warnings for test labs (not recommended in production)
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Scope Session -Confirm:$false
# Connect to vCenter or ESXi (update credentials)
Connect-VIServer -Server -User -Password
# Get VM info: Name, PowerState, Guest OS, IP Address
Get-VM | Select-Object Name, PowerState, @{N="GuestOS";E={$_.Guest.OSFullName}}, @{N="IPAddress";E={$_.Guest.IPAddress -join ', '}} |
Export-Csv -Path C:\Temp\vm_inventory.csv -NoTypeInformation
# Disconnect when done
Disconnect-VIServer -Server * -Confirm:$false
代替
和
, 和
与您的详细信息。
3。从Python致电Powershell
使用Python自动化PowerShell:
import subprocessps_script = r"C:\Temp\get_vm_info.ps1"
completed_process = subprocess.run([
"powershell.exe",
"-ExecutionPolicy", "Bypass",
"-File", ps_script
], capture_output=True, text=True)
print("Script Output:", completed_process.stdout)
if completed_process.stderr:
print("Errors:", completed_process.stderr)
这将诞生 C:\Temp\vm_inventory.csv
它包含您的VM详细信息。
4。图

传奇:
- 伯森调节流动
- PowerShell脚本运行实际订单
- PowerCli与VMware互动
- 结果将导出到CSV
5。查看并使用VM库存
文本程序完成后,打开 C:\Temp\vm_inventory.csv
具有Excel或任何CSV症状。
每个VM行,带有名称列,Powerstate,OS访客和IP地址。
6。探索,修复错误和最佳实践
- SSL/TLS警告:
对于测试实验室,文本程序破坏了证书的真实性。为了生产,请确保使用可靠的证书。 - 沟通问题:
确认网络和用户权限的到来。 - 尚未创建输出文件:
确保C:\Temp\
存在并写入访问。 - 依赖安全:
避免在生产软件中存储密码。想象
7。更多阅读
VMware PowerCli文档:
Python子流程文档文件:
PowerShell文件:
认证主管部门:
8。结论和以下步骤
您已经学习了如何使用PowerCli,恢复VM库存并与Python自动化所有内容。
工作流程是通过您的VMware进行报告,检查和更多自动化报告的基础。
下一个: 在第4条中,您将学习如何自动化VM生命周期和镜头,同时将文本编程技能转移到一个新的水平。