Automation objects are implemented in a 
client-
server model to control operations on one or more 
client machines from a single 
machine automation control module, such as a 
test program. The 
machine automation control module instantiates 
machine automation server objects in a 
server process. The control module can then instruct the server objects to instantiate corresponding machine automation 
client objects on specified client machines via a connection mechanism. Object-oriented automation classes are provided in a 
library and may be extended to meet customized requirements of a given testing procedure. Examples of automation objects may include, without limitation, application objects, machine image objects, snapshot objects, file and registry access objects, 
reboot objects, autologon objects, and command execution objects. 
Automation objects allow the re-establishment of 
remote control after the loss of control resulting from a 
reboot, a relogon, or a 
disk image restoration, for example. 
Automation objects may also be used to automate the deployment of 
software throughout an enterprise.