NSX Visio Diagramming Tool

At VMworld US and Europe this year, Nick Bradford and I presented on PowerNSX. PowerNSX provides a PowerShell module featuring a substantial number of cmdlets that cover the NSX API. Working in concert with PowerCLI it becomes possible to interact via a command line or programmatically with the NSX for vSphere API.

One section Nick provided a bit of an ad-lib to the session with regards to PowerNSX. He showed off the Visio Diagramming tool. When asked if this was something “needed” – all hands were up and people were out of their seats. Claps and Cheers went up! Well – now here it is – ready for anyone to use.

The NSX Visio Diagramming tool provides everyone the chance to diagram their network programmatically. This removes the human time and error elements from documentation. Run the tool and within a minute (if not seconds) you have the data you need to visualise your environments current state.

The Tool

The tool is broken into two parts – a bundle capture script and a digram script.

The Bundle script allows thePowerNSX diagramming tool will automatically go off and gather the logical topology and components from NSX and vCenter to determine what a logical topology looks like. This includes but is not limited to NSX Edges, Attached Logical Switches, Distributed Logical Routers, Distributed Port Groups, Virtual Switches and the Virtual Machines that are attached to these networks. It also supports the documentation of multi-vNIC Virtual Machines. It will collect all these, store the contents in respect

The Diagram script will take a defined bundle and the data contained with the aforementioned bundle and build the topology. By using PowerShell to read and interpret the bundle it will use Visio’s API’s via PowerShell to build out the topology. Using “pretty and shiny” icons the tool will place down the respective devices and topology captured in the bundle. It will then make auto-distance objects to ensure it is readable.

The reason the capture and diagram functions were split out was usability. It allows capture to take place on a machine ‘in production’ through a scheduled task or administrator running it. These machines may or may not have Vision installed. This could be due to the box not having a Visio license or the device (such as an admin desktop) does not have access to production. The bundles can be accessed via a share or central repo and the diagram tool can be run from the administrators laptop.

By time stamping the .ZIP bundle this allows for a point in time capture of the environment. Performed weekly, daily, or hourly, this provides a repository of “as is” topology maps that can be used for diagrams, troubleshooting, charts, or aiding GSS when ticket issues arise.

Using the Tool

First step is to run the NsxObjectCapture.ps1 script. This script requires an existing connection to NSX Manager and vCenter. (Connect-NsxServer and Connect-ViServer)


This will go off and collection all NSX Objects related to the logical topology and store it in a bundle.


Running the NsxObjectDiagram.ps1 script with the defined -CaptureBundle it will Launch Visio and turn the content of the bundle into a logical diagram. It will step through each component and stack it on the canvas. Based on the data inside the bundle it will process what an object is, select the right icon, and apply its connected members to it.

And below is the result of a basic 3 Tier application being drawn by the tool. It will auto-format the layout as the last step it does.



  • Within the shape data itself there the XML that represents the object. For example if you select an NSX Edge it has the relevant XML for the given edge. A Logical Switch includes the API output of that is the Edge
  • Multi-vNIC VM’s are supported
  • Use your own icons by modifying the contents of nsxdiagram.vssx

From one switch to hundreds. A logical router to dozens of edges. Ten VMs to ten thousand. This tool can handle this! Diagram with ease thanks to NSX Visio Diagramming tool! Get it today and as always, open an Issue if you want to see a feature added.

vCenter Server Appliance 6.5 Fusion Install

vCenter Server Appliance 6.5 Fusion Install

I previously wrote about how to install vCSA 6.0 to fusion here. You had to do things like append .ova to the vmware-vcsa file and the rest. Now in the 6.5 ISO there is a file that is already called this. Huzzah!

It can be imported into VMware Fusion! Import this into Fusion like any other OVF file. Deploy it with the default settings or modified them if you like. Once deployed do not power it on. Browse to the VM location and explore the contents of the VM. Inside there is a VMX file.

Note also in the 6.0 post I commented about the lack of VUM – well now we have it built in!

When deploying to VMware Fusion or Workstation the VCSA VMX file must be modified. The additional which are normal put in do the ‘fantastic’ (emphasis on fantastic) install process can be manually added. These include SSO domain name, PSC deployment type, IP addresses and more.

guestinfo.cis.deployment.node.type = "embedded"
guestinfo.cis.vmdir.domain-name = "vsphere.local"
guestinfo.cis.vmdir.site-name = "Default-First-Site"
guestinfo.cis.vmdir.password = "VMware1!"
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.addr = ""
guestinfo.cis.appliance.net.pnid = ""
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.dns.servers = ""
guestinfo.cis.appliance.net.gateway = ""
guestinfo.cis.appliance.root.passwd = "VMware1!"
guestinfo.cis.appliance.ssh.enabled = "true"
hard-disk.hostBuffer = "disabled"
prefvmx.minVmMemPct = 25

** CHECK THAT ” doesn’t turn into “ – this results in a “Dictionary Problem” when trying to turn on the given VM.

Note that I have also disabled hard disk buffering which results in any high memory usage being swapped. This is swapped to the SSD which results in suitable function performance. After all – nested labs are designed to test function and not benchmark.

Power On the VM and let it boot. You will be greeted instantly with a Photon boot screen. All VMware Appliances moving forward will use Photon as the base VM. This will allow for rapid security remediation, baseline adjustments and more!


After some minutes – Voila! Server Appliance on Fusion. Once you set up vCenter you can choose three superb options – deploy a new vCSA, Upgrade from an older vCSA, or Migrate from Windows to vCSA.

Lab away on the best way to deploy vCenter.