After publishing my recent article on automating the silent installation of VMware Tools for Linux guestOSes, I received a similar question regarding Mac OS X guests and whether the existing script would also apply. The answer is no since Mac OS X packages differ from the Linux installres, but it is possible to automate the installation of VMware Tools for Mac OS X guests.
After quickly looking into this, I realized there are actually several options that are available to customers and it would depend on how you would like to install VMware Tools and what platform you are running your Mac OS X guests on. I will share a couple of options which also includes existing solutions that have already been developed. At the end of the day, the choice will ultimately be up to the administrator on how he/she would like to proceed.
Option 1 - If you are a vSphere/ESXi customer running Mac OS X, you will probably want to mount the VMware Tools installer and then initiate an installation within the Guest. You can actually perform the entire operation within a single context by leveraging our vSphere API to issue the VMware Tools installer and then using the Guest Operations API to perform the installation.
Option 2 - Similar to the above option, if you do not wish to use the vSphere API, you can simply copy the darwin.iso (VMware Tools) image onto your Mac OS X guests and then perform the automated install. This would be the most simplistic option and would apply to running Mac OS X guests on either vSphere/ESXi or Fusion.
Option 3 - You can also download VMware Tools using VMware's online repository (thanks to Rich Trouton for sharing this tidbit) and then performing the installation which is very similar to Option 2. The only downside is if you are running Mac OS X on vSphere/ESXi, the status of VMware Tools will show "unsupported" as the version will differ from version distributed with vSphere/ESXi. In fact, Rich Trouton has an existing solution that he has published here which you can read more about.
If you are already familiar with using the vSphere API and are using vSphere/ESXi, I personally would go with Option 1 just because you can stay within a single context from an automation standpoint and not have to jump between different interfaces. If you not comfortable, want a quick solution or running just Fusion, then Option 2 and 3 would be ideal. Below is an example Gist demonstrating a simple shell script which implements Option 2 and Option 3 with a slight twist from what Rich has done which does not require Git.
Here's an example of running the script using Option 2: