One of the best free tools out there for VMware is RVTools by Rob de Veij at Robware.
If you haven’t use RVTools, it is a Windows app that will connect to a specified vCenter and display almost all the inventory information about the contents of that vCenter. The data can be reviewed in the app or even better, exported to Excel. Anytime I am working on a project with VMware, I use RVtools to gather information about a client’s environment for leading into a design, point in time view before a cutover, and more. Of all the tools and scripts I use, RVTools is the one I use the most. Now that I’m working with AWS, GCP, and other cloud environments, I wish there was a similar tool or script that would capture and export practically everything about them.
If you work with VMware and haven’t used RVTools before, go try it!
One thing I recently discovered, is RVTools can be scripted. This is very useful when a client has multiple vCenters and you want to set names on the exported files. One client I’ve worked with, does a daily RVTools run so they have a copy of what their VMware environment looked like every day. While there are many ways to track infrastructure changes, this is a very simple one that anyone can do.
This is the below PowerShell code I use whenever I need to connect to a vCenter and export the data.
#List of vCenters
$vCenters = "vcenter1.venting.cloud","vcenter2.venting.cloud","vcenter3.venting.cloud","vcenter4.venting.cloud"#creds
$User = "venting.cloud\user"
$password = "secret!"
#where the Excel files will be saved
$outputDIR = "Z:\Projects\venting\"
foreach ($vCenter in $vCenters) {
#setting up the arguments to be used for RVTools. This sets the name to the vCenter, and a good date format.
$outputFile = $vCenter + "-RVToolsExport-" + $(get-date -uformat %m-%d-%Y-%H-%m-%S) + ".xlsx"
#combine the variables into one argument string
$Arguments = "-u $User -p $password -s $vCenter -c ExportAll2xlsx -d $outputDIR -f $outputFile"
#starts the export process by calling RVTools and passes in the arguments.
Start-Process -FilePath "C:\Program Files (x86)\Robware\RVTools\RVTools.exe" -ArgumentList $Arguments -NoNewWindow -Wait -PassThru
}
There are other CLI options as well for RVTools, that are listed in their documentation.