Learning Objectives
Next up: In Article 9, you will learn to integrate PowerCLI with external APIs and tools to expand your VMware automation beyond native scripts.
- Automate advanced vSphere tasks involving NSX and Aria Operations.
- Use PowerCLI to manage NSX logical switches, firewall rules, and Aria Operations alerts.
- Integrate Python for orchestration, scheduling, and reporting of complex workflows.
- Visualize complex automation with an diagram.
My Personal Repository on GitHub
You have now automated advanced VMware tasks that span NSX, Aria Operations, and vSphere using both PowerCLI and Python.
This approach lets you build scalable, auditable, and intelligent automation workflows across your hybrid cloud and SDDC stack.
Prerequisites
- Completed Articles 1–7.
- PowerCLI modules for NSX and Aria Operations installed (see below).
- vCenter, NSX-T Manager, and Aria Operations access with automation privileges.
1. PowerCLI and NSX-T Integration
if completed_process.stdout:
# Parse table output to DataFrame if formatted as CSV in PowerShell
data = pd.read_csv(pd.compat.StringIO(completed_process.stdout))
print(data.head())
else:
print(“No output or script failed.”)
Importing the NSX-T Module
By the end of this article, you will:Disconnect-OMServer -Confirm:$false
Example: Add a Firewall Rule
import subprocess
import pandas as pdVMware Repository on GitHub# Connect to Aria Operations (formerly vRealize Operations)
Connect-OMServer -Server <aria-ops-server> -User <username> -Password <password>PowerCLI supports NSX-T for advanced network automation. You can create logical switches, manage firewall rules, and more.
completed_process = subprocess.run([
"powershell.exe",
"-ExecutionPolicy", "Bypass",
"-File", ps_script
], capture_output=True, text=True)# Add a simple firewall rule (example)
New-NsxtFirewallRule -SectionId <section-id> -Name "Allow Web" -Action Allow -Source <src-group> -Destination <dest-group> -Service "HTTP"
2. PowerCLI and Aria Operations Integration
Import-Module VMware.VimAutomation.Nsx
Example: List All NSX Logical Switches
You can automate these tasks on a schedule or trigger using Python.
Here’s a sample Python script to run an NSX-T PowerShell script and parse output for reporting.
Disconnect-NsxtServer -Confirm:$false