". Their new virtual clock will override the group
virtual clock they would normally use. In order to allow users to set their own clock, the utility tmuser_setup must
have been run by an administrator. This virtual clock will last until a system reboot or until it is manually removed
by the user or an administrator.
Why use Time Machine and not just reset the system clock?
Productivity is boosted since you are not limited to one clock. Time Machine also avoids single threaded testing,
time-bombed programs and expired accounts! Re-setting the hardware clock forward will affect ALL programs trying
to see the system’s clock, including the password program and software with expiration dates. Time Machine allows
users to see a virtual time while keeping the system clock to the present time. Time Machine addresses time-bombed
programs with its exclusion list. Any programs listed on the exclusion list will not see the virtual clock but rather will
continue to see the system date and time.
Will other users on the same system see "my" virtual date and time and get confused?
No. Only the users activated in Time Machine will see the virtual date and time specified for each user.
Can I have different users see different virtual dates and times on the same system?
Absolutely, for example, multiple clocks can be setup for each user so that they see their respective time zone.
Will Time Machine cause file time stamps to be updated to the virtual date and time? I am worried about my
backups and system logging.
File time stamps are always recorded in Universal Time Coordinated (UTC), a global time standard equivalent to
Greenwich Mean Time (GMT). This makes them independent of the system clock and any virtual clock settings. When
displayed, file time stamps are rendered in the local time, which can be virtual or real, depending on your settings.
When the virtual time rolls over at midnight, does the virtual date also roll over to the next day?
Yes, absolutely. Virtual date rollover provides smooth testing when the virtual time rolls over. You can also freeze
time with Time Machine.
My demo and rental software may expire. How can I run those programs without having them expire?
Unlike resetting the system clock and globally impacting all processes, Time Machine allows users to selectively
enable just a subset of users to see the virtual date and time. In addition, using the exclusion list feature enables
programs to see the current date and time even while Time Machine is being run in the users session.
Other than time zone correction, what else can I use Time Machine for?
Time Machine can be used for training. For example, you can use Time Machine to simulate the exact environment
for month-end or quarter-end processing. It can be used to redo certain date and time-sensitive operations. Let''s
say you missed quarter-end processing due to a hardware problem. Now, three days later, you can use Time Machine
to regenerate the quarter-end report as if it were running on that exact date and time. Users in Japan can generate
reports in their local time with Time Machine on a system located in the United States. The possibilities are endless.
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved31
SECTION 5. TIME MACHINE COMMANDS
This section will describe commands installed into the Time Machine Windows Start Menu.
EXCLUSION
Programs can be excluded from Time Machine when a virtual clock is set for a user or group. This section describes
exclusions.
PERMANENT EXCLUSION
Administrators can permanently exclude programs from Time Machine by setting up the configuration file tmexcl.cf.
The file is loaded by Time Machine at startup. If Time Machine cannot access or find tmexcl.cf in the installation
directory, it fails to start, showing error 4008575282. Time Machine would also log an explanatory message to the
Application Log.
To make Time Machine load tmexcl.cf at any time, Administrators run the command tmexb from the Windows Start
Menu if they want to replace the memory loaded Programs Exclusion List.
By default, only the Administrators have read/write access to tmexcl.cf.
The contents in the configuration file will not become effective until tmexb is run or Time Machine is restarted.
Example
To permanently exclude Microsoft Word and Microsoft PowerPoint, perform the following steps:
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved32
1. Select Edit tmexcl.cf from the Time Machine folder in the Windows Start Menu. This starts a Notepad
session opening the tmexcl.cf file for edit.
2. Add the following text to the file
# This file contains programs that always need to see the system time.
#
C:\Program Files\Microsoft Office\Office\WinWord.exe
C:\Program Files\Microsoft Office\Office\PowerPnt.exe
3. Run tmexb from the Time Machine folder in the Windows Start Menu to effect the new exclusions
immediately.
TEMPORARY EXCLUSION
Administrators can temporarily exclude programs from Time Machine by using the command tmexcl. The effect of
tmexcl is lost when Time Machine is restarted.
Example:
tmexcl –a “C:\Program Files\Microsoft Office\Office\PowerPnt.exe”
VIRTUAL CLOCKS
PERMANENT VIRTUAL CLOCKS
Time Machine loads the permanent virtual clocks from the configuration file tmuser.cf at startup time, before any
logon is accepted by the system. This provides a reliable means for ensuring that certain users receive a virtual clock
on logon.
Adding virtual clocks to tmuser.cf is quite straightforward and follows a few simple rules.
Time Machine reads tmuser.cf only when it starts. Any change to the file will become effective on the next start of
Time Machine, unless the file is loaded with the command tm. This command allows you to immediately affect the
virtual clocks listed in tmuser.cf by either replacing the current list maintained by Time Machine, or adding the new
list to the current one.
If an account is listed multiple times, only the last occurrence gets loaded. Similarly, if an account in the file to be
added is already present in the current list of virtual clocks maintained by Time Machine, the account from the file
replaces the current virtual clock.
The name of tmuser.cf is fixed. Its location is determined at installation time but can be changed afterwards if you
wish to load a networked copy. When started, Time Machine tries to open tmuser.cf. If it cannot find or access the
file, Time Machine logs an error in the Application Log, then it shuts down returning error 4008575282.
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved33
The file tmuser.cf can list as many clocks as the current maximum number supported by Time Machine. Any clocks
beyond that number will be discarded.
The most frequent use of tmuser.cf is for setting up virtual time zone clocks, clocks with a virtual time zone but
current date and time for Terminal Services users scattered in several time zones. After creating one group of users
per time zone, the administrator can add the group names and their time zones in tmuser.cf. This guarantees that
those groups'' members will get the right time zone setting every time they logon. If allowed by the administrator,
they can override the tmuser.cf clock setting and create a "user" temporary virtual clock that is in effect as long as
Time Machine is running, and that will be lost when Time Machine is shut down. Time Machine will use instead of
the group clock as long as the logon session lasts. This is useful for users that are normally based in a certain time
zone, but that occasionally roam across time zones.
Example 1
The company XYZ has a Terminal Server farm organized into several domains, two of which are "Accounting", and
"HumanResources". The domains are located in Denver, Colorado. Some users work from offices in Boston and San
Francisco, connecting to the servers in Denver. To make those users permanently see their own time zones instead
of the Central time zone of Colorado, the administrator edits the file tmuser.cf on any of the logon servers used by
the users in Boston and San Francisco, then he/she propagates the changes to all other copies of tmuser.cf on the
logon servers in the domains of interest.
Assuming that the remote users are organized into the groups "Accounting\Boston Group",
"Accounting\SanFrancisco Group", "HumanResources\Boston Group", and
"HumanResources\SanFrancisco Group", the file tmuser.cf will contain the following lines:
#
# Time zones for remote offices in Boston and San Francisco.
#
"accounting\boston group" z=eastern "accounting\sanfrancisco group" z=pacific
"humanresources\boston group" z=eastern "HumanResources\SanFrancisco Group" z=pacific
Note the account names in quotes due to the presence of a space in them. The group names are preceded by the
domain name to avoid confusion, since the same names are used in different domains.
Note also that the account names have no "group" or "user" qualifiers, because user and group accounts share the
same name space, and must therefore be unique.
Example 2
The company XYZ runs a payroll service, and needs to train some new employees on the use of their payroll software.
Since the software is run biweekly, the administrator has setup a special user group called "PayrollTrainees", and
assigned to it an absolute clock which is a virtual date, time, and or time zone clock independent from the System
Clock. The absolute clock is listed in tmuser.cf, as follows:
#
# Absolute clock for Payroll Software Training Group.
#
PayrollTrainees 101309002000 # 10/13/2000 09:00 triggers payroll run.
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved34
Members of the PayrollTrainees group will get the date and time "October 13, 2000, 9:00" every time they logon.
They can proceed with the simulation of a biweekly payroll run, without interfering with the normal production
environment executing on the same system.
Example 3
The company XYZ needs to conduct some tests on a new software release with the current time five years in the
future. The administrator specified the following relative clock which is a virtual date and/or time expressed relative
to the System Clock. The time zone is that of the System Clock. File tmuser.cf for the group "Test Group" in charge
of such testing:
#
# Relative virtual clock for Test Group.
#
"Test Group" y=5 # Current time 5 years from now.
The same company hired John to test certain software using a virtual clock set exactly 3 years, 2 hours and 30 minutes
in the past from now. The administrator adds the following line to tmuser.cf:
# Relative virtual clock for John.
John y=-3,D=-10,h=-2,m=-30 # 3 years, 10 days, 2 hours, 30 min in the past
Note that no spaces are allowed in the relative clock descriptor starting with "y=" and ending with "30".
Example 4
The company XYZ has a group of users dedicated to testing certain software. The group, called "Big Freeze", needs
a clock locked to "Dec. 31, 2001, 23:01". The administrator adds the following line to tmuser.cf:
#
# Absolute frozen clock for the Big Freeze group.
#
"Big Freeze" x=123123012017 f # Frozen absolute clock 12/31/2017 23:01. The parameter "f" makes the clock
frozen. Note that "x=" can be omitted.
Example 5
The QA group always wants the test version of the corporate CRM application to run at 4 times the normal speed
whenever it is started. To achieve this all the administrator needs to specify is a relative clock which is a zero minutes
offset from the real time and has a clock-speed modifier of “4”.
#
# Variable Speed clock for QA’s CRM.
#
"QA-CRM" m=0 -4 # Start with current time and run 4 times slower
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved35
TEMPORARY VIRTUAL CLOCKS
Temporary virtual clocks are cleared when the system or Time Machine is restarted. All virtual clocks created with
the tmuser command are temporary virtual clocks. The tmuser command is explained in detail in Section 6:
Command Reference.
ACTIVITY LOGGING
Time Machine can log every virtual clock access to the system’s Application Log, according to a policy based on
logging levels.
When it is installed, Time Machine uses the default logging level 1, at which only errors and warnings are logged.
Any change to the logging level is persistent across system reboots, and should be made keeping in mind that it can
cause a decrease of the product''s performance. The following levels are supported:
1. Logs informational events, warnings, and critical errors (default).
2. Logs all Time Machine configuration changes.
3. Logs every access to virtual clocks.
4. Logs every access to the system clock.
5. Logs detailed group membership information.
Each level includes the functionality provided by the lower ones.
To query or change the current logging level, Time Machine provides the console command tmlogl. The tmlogl can
be invoked without parameters to show the current logging level, or with the number of the level to be set.
Example
To read the current logging level, and then set it to 5 if lower, start the tmlogl utility and type the following
parameters:
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved36
Now open the Event Viewer. A dialog similar to this will be displayed:
Double-click on any Time Machine Event ID 13. A dialog similar to this will pop up:
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved37
It describes a "Clock Read" event triggered by the program "Explorer.exe" ran by the "Administrator" user account.
Explorer reads a virtual local time instead of the system''s local time because the administrator has a virtual clock.
The administrator''s group memberships are also listed.
ALLOWING USERS TO SET VIRTUAL CLOCKS
The command tmuser_setup allows for users that are not Administrators to set virtual clocks for themselves. This
command is part of the installation process but can be revisited at any time. Allowing users to create their own
virtual clocks is required for other products in the Time Machine Suite of Products. Where this is a requirement, it is
called out in the Systems Requirements Section in the product documentation.
SECTION 6: COMMAND REFERENCE
Time Machine comes with the following utilities:
NAME EXECUTE PURPOSE
PERMISSION
tm Administrators Sets the Time Machine virtual clocks from file.
tmexb Administrators Sets the Time Machine''s Programs Exclusion List from file.
tmexcl Administrators Sets program names to be excluded from Time Machine.
tmlogl Administrators Logs Time Machine activities.
tmuser Administrators, any Creates, deletes, and lists virtual clocks belonging to any user.
user with permission
tmuser_setup Administrators Grants all users permission to run TmUserGui and tmuser, if not selected
during installation.
TmUserGui Administrators, any Creates, deletes, and lists your own virtual clock using a graphical user
user with permission interface. This has been obsoleted by the Time Machine Management
Console
Upgrade Administrators Upgrades the Time Machine software license.
License
All console commands accept the parameter "?" that causes the displaying of the Time Machine version and the
command usage.
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved38
TM
The command tm loads a list of virtual clocks from a file into Time Machine. Some options are available:
COMMAND SYNTAX EFFECT
tm
Replaces all virtual clocks with the list from the file tmuser.cf located in the
installation directory.
tm -r
tm -a Adds the virtual clocks from the file tmuser.cf to the current ones.
tm
Replaces all virtual clocks with the list from the file .
tm -r
tm -a Adds the virtual clocks from the file to the current ones.
TMEXB
The command tmexb loads the Programs Exclusion List from a file into Time Machine. Some options are available:
COMMAND SYNTAX EFFECT
tmexb Replaces the Programs Exclusion List with the list from the file tmexcl.cf. The
Time Machine-predefined programs on the Programs Exclusion List are not
tmexb -r affected.
tmexb -a Adds the list from the file tmexcl.cf to the Programs Exclusion List.
tmexb Replaces the Programs Exclusion List with the list from the file . The
Time Machine-predefined programs on the Programs Exclusion List are not
tmexb -r affected.
tmexb -a Adds the list from the file to the Programs Exclusion List.
UG306_20170306_v.1_45 Copyright © 1993-2017 SolutionSoft Systems, Inc. All rights reserved39
TMEXCL
The Programs Exclusion can also be managed with the command tmexcl. The full command syntax is as follows:
tmexcl []
::=