Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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!

share|improve this question
add comment

2 Answers

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.

share|improve this answer
add comment

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

share|improve this answer
    
Network access in this context means directly from/to the guest machine. Console access comes from the ESX host, not the guest VM. –  JakeRobinson Sep 15 '10 at 2:19
    
Network access in this context means directly from/to the guest machine. Console access comes from the ESX host, not the guest VM. I am an avid PowerCLI user and have used invoke-vmscript, which is kind of the easy part. I'm not afraid to write a little perl either, but I need a good resource on how to actually gather the info from the guest VMs... –  JakeRobinson Sep 15 '10 at 2:25
    
You will have to do this on a per operating system basis, as mentioned. I would suggest something like open-audit.org or equivalents... I believe you will need administrators to place these on each local host, or a restricted account with something like auditing access. –  Brennan Sep 15 '10 at 21:00
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.