Setting VMware vSphere VMs to automatically upgrade VMware tools

We are currently on VSphere 5.1 across the board globally with around 450 Windows server VMs.

We have an issue where we have various VMs throughout the organization that end up having expired VMware tools.

Without going with 3rd party tools or VCops or similar, I know that there is a way to set each VM to automatically upgrade during a power cycle:

enter image description here

And within PowerCLI as well I see a way to script to set all of the VMs to do this:

$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = "UpgradeAtPowerCycle"

Get-View -ViewType VirtualMachine | %{
   $_.ReconfigVM($vmConfigSpec)
} 

My questions here:

  1. Is there a concern that an update/upgrade to VMWare tools can cause issues with a Windows guest VM beyond the normal paranoia of a patch/install going wrong? Basically I'm asking if the pros of doing automatic updates of VMWare tools on Windows server guests outweigh the cons.
  2. Is there a better way of handling VMWare Tools updates/upgrades that I'm not aware of here?
  3. Are there specific scenarios beyond corporate policy/management/security practices for NOT updating/upgrading VMWare tools? (ie. known stuff that breaks, etc.)

  1. In my experience, no there's no extra risk in automatcially updating VMware tools. It doesn't affect anything locally and will provide the best experience for the VMs, as well as keeping them in sync with the host.
  2. vCenter Update Manager can do it as well. You can set it up to only update the tools (and hardware) for certain VMs and, if memory serves, you can even schedule it to run at a certain time.
  3. I've never seen a straight VMware tools update/upgrade break anything on a system. I've seen virtual hardware upgrades break things if you didn't do the matching tools first though.

I agree with GregL. But I would like to add a possible alternative:

If you already package software and deploy and update it (like a third-party AV or something) automatically with a generic solution, you can get the latest VMwareTools version from here and do the same.


Ha! I had exactly this problem a few years ago so asked the very wonderful William Lam (well known VMWare consultant/employee/blogger) who kindly wrote me THIS script in Perl for the VMa - then someone below in the comments wrote the same thing in PowerCLI script - so there you go!

As for your concerns, VMWare don't have to test a million drivers on different OS's - they test the stuff they do make pretty well - but if you're really worried try them out in your dev/test/reference environments first.