学习目标
到本文结尾,它将:
- 了解Powershell,PowerCli和Python之间的差异和相似性。
- 在Powershell和Python中学习基本文本编程结构。
- 实施将Python和PowerCli结合起来的第一个文本程序,以自动执行简单的VMware任务。
我在Gabbap上的个人仓库
Github上的VMware仓库
基本要求
- 已经安装了第1条(PowerCli和Python)。
- 访问VMware VSphere环境(实验室或生产)。
- Windows(需要PowerCli Windows PowerShell)。
1。 Powershell,PowerCli和Python-他们如何一起工作
- Powershell:Windows订单和文本编程。
- PowerCli:到达PowerShell的一组刻板印象,使您可以用简单的订单控制VMware VSphere,NSX和ARIA。
- 贝森多使用文本语言,常用于调节和扩展自动化。
您可以直接运行PowerCli CMDLET Powershell呼叫 订单。
2。 基本句子结构:Powershell vs Python
Powershell基础知识
- CMDLET以动作风格开头(
Get-VM
和Start-VM
)。 - 使用变量
$
。 - 评论开始
#
。
例子:
# List all VMs
Get-VM# Store VM count in a variable
$vmCount = (Get-VM).Count
Write-Output "There are $vmCount virtual machines."
Bethon基础知识
- 变量不使用特殊符号。
- 评论开始
#
。 - 使用
print()
指导。
例子:
# List of VM names
vm_list = ['Web01', 'App01', 'DB01']# Print how many VMs
print(f"There are {len(vm_list)} virtual machines.")
3。 您的第一个机制任务:从Python致电PowerCli
Biton与PowerCli互动的最简单方法是 PowerShell脚本实现 从Bithon程序中。
步骤1:创建PowerShell文本
让我们开始编写一个文本程序,该程序告诉所有VM设备并将其保存在文本文件中。
保存为 list_vms.ps1
:
# Import PowerCLI
Import-Module VMware.PowerCLI# Connect to vCenter (update with your details)
Connect-VIServer -Server -User -Password
# List VMs and output to file
Get-VM | Select-Object Name, PowerState | Out-File -FilePath C:\Temp\vm_list.txt
代替
和
, 和
带有您的真实价值观。
步骤2:Python的Powershell文本
现在,使用Python联系此文本程序。这是一个基本示例:
import subprocess# Define the PowerShell script path
ps_script = r"C:\Temp\list_vms.ps1"
# Run the PowerShell script
completed_process = subprocess.run([
"powershell.exe",
"-ExecutionPolicy", "Bypass",
"-File", ps_script
], capture_output=True, text=True)
# Print the output (if any)
print("Script Output:", completed_process.stdout)
if completed_process.stderr:
print("Errors:", completed_process.stderr)
4。 Python驾驶PowerCli

传奇:
- 贝森组织自动化。
- PowerShell/PowerCli连接到VMware并运行过程。
5。 探索和修复错误的提示
- 实施策略中的错误: 如果您看到政治的限制,请使用:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- 文本要进行交流的因素: 检查双重认证数据和vCenter服务器地址。
- 输出文件: 保证
C:\Temp\
现有或更新输出路径。
6。 更多阅读
7。 结论和以下步骤
我了解了Powershell和Python的基础知识,并看到了如何使用Python实施PowerCli文本。这打开了一个自动化世界,您现在可以将VMware订单与Python数据处理和逻辑相结合。
在第3条中,您将使用此联合方法连接到VEPTER,并恢复详细的VM信息。