You can install the guest agent on your templates for cloning to further customize a machine after deployment. You can use the reserved guest agent custom properties to perform basic customizations such as adding and formatting disks, or you can create your own custom scripts for the guest agent to run within the guest operating system of a provisioned machine.

After the deployment is completed and the customization specification is run (if you provided one), the guest agent creates an XML file that contains all of the deployed machine's custom properties c:\VRMGuestAgent\site\workitem.xml, completes any tasks assigned to it with the guest agent custom properties, and then deletes itself from the provisioned machine.

You can write your own custom scripts for the guest agent to run on deployed machines, and use custom properties on the machine blueprint to specify the location of those scripts and the order in which to run them. You can also use custom properties on the machine blueprint to pass custom property values to your scripts as parameters.

For example, you could use the guest agent to make the following customizations on deployed machines:

  • Change the IP address

  • Add or format drives

  • Run security scripts

  • Initialize another agent, for example Puppet or Chef

Your custom scripts do not have to be locally installed on the machine. As long as the provisioned machine has network access to the script location, the guest agent can access and run the scripts. This lowers maintenance costs because you can update your scripts without having to rebuild all of your templates .

If you choose to install the guest agent to run custom scripts on provisioned machines, your blueprints must include the appropriate guest agent custom properties. For example, if you install the guest agent on a template for cloning, create a custom script that changes the provisioned machine's IP address, and place the script in a shared location, you need to include a number of custom properties in your blueprint.

Table 1. Custom Properties for Changing IP Address of a Provisioned Machine with a Guest Agent

Custom Property



Set to true to initialize the guest agent when the provisioned machine is started.


Set to True to prevent the provisioning workflow from sending work items to the guest agent until all customizations have been completed.


Specifies the full path to an application's install script. The path must be a valid absolute path as seen by the guest operating system and must include the name of the script file name.

You can pass custom property values as parameters to the script by inserting {YourCustomProperty} in the path string. For example, entering the value \\\scripts\changeIP.bat runs the changeIP.bat script from a shared location, but entering the value \\\scripts\changeIP.bat {VirtualMachine.Network0.Address} runs the changeIP script but also passes the value of the VirtualMachine.Network0.Address property to the script as a parameter.

For more information about custom properties you can use with the guest agent, see Custom Properties Reference.