I have a lot of virtual machines running various windows and linux operating systems, and various apps (eg MS-SQL) that I need to audit/keep track of.
The catch: Some of these machines are on isolated networks, no internet access, no management access.
The good news: I have full access to the virtualcenter server and can leverage the APIs to invoke scripts on the guest OS.
I don't necessarily NEED to know the productID/key used, but that would be a bonus..
So, How do I audit the licenses in my virtual environment where I may not have network access to the VMs?
Thanks in advance!
You want to play with the VIX API if you want to build your own tools.
If you are prepared to pay (a lot) for a solution then Symantec Management Platform has a Virtual Machine Management component that works with their Server Management Suite that can do some of this and SCVMM is supposed to be able to do it\ should be able to do it soon too. I haven't used either of these for this purpose so I can't swear that they will work but it's been a pretty hot VI management topic for a while.
Please define network access for me, in this context, because if you have administrative access to the Vcenter, you can access the console on each endpoint. While it may prompt you for a login (something you may not have) you would have to have network access in order to be able to interface with the guest.
Now, back on topic.
You can use PowerCLI in order to access, and execute scripts on guest OSes.
Example 1 (most pertinent)
http://www.van-lieshout.com/2010/01/powercli-get-wmi-info-from-isolated-guests/
Example 2
http://www.virtu-al.net/2010/02/05/powercli-changing-a-vm-ip-address-with-invoke-vmscript/
My suggestion is to adapt the examples for an auditing script, or an inventory script. This would likely be per OS (Powershell, WMI, *nix shell).
References for PowerCLI:
http://communities.vmware.com/servlet/JiveServlet/download/1597600-42488/PowerCLI-Poster-4.1.pdf http://virtu-al.net/Downloads/PowerCLIQuickReference.pdf