Automatically deploy Puppet agent on VMWare Templates


When you deploy a VMWare template, you have the option to create a customization specification.  You can add a command to this customization specification to automatically deploy the puppet agent, after the template has finished deploying.

One of the options in your customization specification is a run once command. Or really, it is a list of run once commands. There are three commands you should add to this section:

Downloading the Puppet Agent

First, you want to download the puppet agent by using this command: powershell “new-item C:\install -type directory; (new-object System.Net.WebClient).DownloadFile(‘’,’C:\install\puppet-agent-x64-latest.msi’)”

Installing the Puppet Agent

Next you want to silently install the puppet agent with this command (Be sure to replace with your actual puppet server FQDN):

msiexec /qn /i C:\install\puppet-agent-x64-latest.msi PUPPET_MASTER_SERVER=“”

Force Puppet agent to run

Force a run of the puppet agent right now:

puppet agent -t

If you add the three above commands to the run once section of your customization template, your puppet agent should automatically install the first time someone logs into the server.