A system and method for tracking and restoring computer configuration are
disclosed. In one aspect, the system and method monitors for a series of
changes in watched one or more computer configuration variables. The
changes are registered into a series of saved states. The one or more
computer configuration variables may be restored to a desired saved state
using the registry of saved states. In one aspect, the system and method
monitors the changes by intercepting system calls, determining which
system calls affect the one or more computer configuration variables, and
logging the system calls and the results of the system calls that affect
the one or more computer configuration variables. A recovery script may
be dynamically generated to restore to a saved state.