vSphere自动化的PowerCli和Python基础知识

学习目标

到本文结尾,它将:

  • 了解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-VMStart-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

vSphere自动化的PowerCli和Python基础知识

传奇:

  • 贝森组织自动化。
  • PowerShell/PowerCli连接到VMware并运行过程。

5。 探索和修复错误的提示

  • 实施策略中的错误: 如果您看到政治的限制,请使用: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • 文本要进行交流的因素: 检查双重认证数据和vCenter服务器地址。
  • 输出文件: 保证 C:\Temp\ 现有或更新输出路径。

6。 更多阅读


7。 结论和以下步骤

我了解了Powershell和Python的基础知识,并看到了如何使用Python实施PowerCli文本。这打开了一个自动化世界,您现在可以将VMware订单与Python数据处理和逻辑相结合。

在第3条中,您将使用此联合方法连接到VEPTER,并恢复详细的VM信息。

Source link

Similar Posts