TzUtil is ideal for changing time zones on a network of computers.
Run TzUtil and edit the changes in the PABX.INI file that TzUtil generates on the local computer in the way you would normally and make sure that all is correct.
Edit the changes that you need to make in the PABX.INI file to selected the correct DST (or other settings). It is a GOOD idea to make change the setting TimeZoneDisplay from "MonTel Adjusted" to "MonTel Adjusted {your city}" (replacing {your city} with your city of course!). This way the Time zone settings won't overwrite the existing ones in the Windows registry.
For details on the settings see: TimeZone Section in the PABX.INI file documentation. For an example file see below.
Test this on the local PC, by running TZUtil to force the changes, and then test the PC, by advancing the system clock to to the change date (and back again once you have seen the change occur!).
Now modify the PABX.INI file setting SetUserFeedbackLevel = 0 and ShowWindowsTimeZoneInfo = 0 and ConfirmTimeZoneMatchesOS =1.
Now TZUtil should update the system silently. Change SetUserFeedbackLevel to 1, 2, or 3 if you want the user to be aware of the change.
Now place TZUtil and PABX.INI together on a common public folder visible to all users on the Network, and place shortcut to TzUtil in their login script. Once all the PCs are updated, remove TzUtil from the start up script.
Batch file script for alphabetically ruining TzUtil only once at user login
If you have a batch file script you could alternately use a script like this one (change \\DMSERVER\MT_\NEW to a shared folder available to all users on your network). Short lines are wrapped from the line above.
if exist C:\MONTEL\TZUTIL.FL1 goto DONE
if not exist C:\MONTEL md C:\MONTEL
@rem replace \\DMSERVER\MT_\NEW with a folder shared to all users on the network.
@rem replace T: if needed with an unused drive letter.
NET USE T: "\\DM14\MT_NEW" /persistent:no
cd T:\Apps
call T:Tzutil.exe
echo "This TZ DST update of 16th of March 2008 flag file ." > C:\MONTEL\TZUTIL.FL1
if exist T: NET USE T: /DELETE
:DONE
What this batch file does in a single sentence is; see if a flag (FL1) file has been created previously, if so, do nothing, otherwise, map the network location to 'T:' drive, run Tzutil, create the flag file and remove the 'T:' drive. Batch files need a drive letter to run.
Example PABX.INI file
;MonTel/TZUtil Pabx part information file.
[Program]
AllowOnlyAdminToUseMontel=0
MonTelExitMessage=""
[MonTelServer]
[Popup]
[TimeZone]
TimeZoneDisplay="MonTel Adjusted"
ConfirmTimeZoneMatchesOS=1
SetUserFeedbackLevel=3
ShowWindowsTimeZoneInfo=1
TZStandardName="W. Australia Standard Time"
TZDaylightName="W. Australia Daylight Time"
TZStandardGMTModifyMins=-480
TZDaylightStartDateTime="Last Sun in Oct at 02:00:00"
TZDaylightEndDateTime="Last Sun in Mar at 03:00:00"
TZDaylightSTDModifyMins=-60
;TZStandardSTDModifyMins=0
;The time zone name Date/Time properties will be created from
;the following settings above shown in braces {} as the
;follwing string of characters.
; "(GMT%{(+ or -)TZStandardGMTModifyMins(as hours)}) {TimeZonDisplay}"
; for example the Perth example below would give:
; "(GMT+08:00) MonTel Adjusted Perth"
;Sample Time Zone settings for Australia
;TimeZoneDisplay = "MonTel Adjusted Sydney"
;SetUserFeedbackLevel = 3
;TZStandardName = "(AUS) Eastern Standard Time"
;TZDaylightName = "(AUS) Eastern Daylight Time"
;TZStandardGMTModifyMins = -600
;TZDaylightStartDateTime = "First Sun in Oct 02:00:00"
;TZDaylightEndDateTime = "First Sun in Apr 03:00:00"
;TZDaylightSTDModifyMins = -60
;TimeZoneDisplay = "MonTel Adjusted Melbourne"
;SetUserFeedbackLevel = 3
;TZStandardName = "(AUS) Eastern Standard Time"
;TZDaylightName = "(AUS) Eastern Daylight Time"
;TZStandardGMTModifyMins = -600
;TZDaylightStartDateTime = "First Sun in Oct 02:00:00"
;TZDaylightEndDateTime = "First Sun in Apr 03:00:00"
;TZDaylightSTDModifyMins = -60
;TimeZoneDisplay = "MonTel Adjusted Hobart"
;SetUserFeedbackLevel = 3
;TZStandardName = "(AUS) Eastern Standard Time"
;TZDaylightName = "(AUS) Eastern Daylight Time"
;TZStandardGMTModifyMins = -600
;TZDaylightStartDateTime = "First Sun in Oct 02:00:00"
;TZDaylightEndDateTime = "First Sun in Apr 03:00:00"
;TZDaylightSTDModifyMins = -60
;TimeZoneDisplay = "MonTel Adjusted Brisbane"
;SetUserFeedbackLevel = 3
;TZStandardName = "(AUS) Eastern Standard Time"
;TZDaylightName = "(AUS) Eastern Daylight Time"
;TZStandardGMTModifyMins = -600
;TZDaylightStartDateTime = ""
;TZDaylightEndDateTime = ""
;TZDaylightSTDModifyMins = -0
;TimeZoneDisplay = "MonTel Adjusted Adelaide"
;SetUserFeedbackLevel = 3
;TZStandardName = "(AUS) Central Standard Time"
;TZDaylightName = "(AUS) Central Daylight Time"
;TZStandardGMTModifyMins = -530
;TZDaylightStartDateTime = "First Sun in Oct 02:00:00"
;TZDaylightEndDateTime = "First Sun in Apr 03:00:00"
;TZDaylightSTDModifyMins = -60
;TimeZoneDisplay = "MonTel Adjusted Perth"
;SetUserFeedbackLevel = 3
;TZStandardName = "(AUS) Western Standard Time"
;TZDaylightName = "(AUS) Western Daylight Time"
;TZStandardGMTModifyMins = -480
;TZDaylightStartDateTime = "Last Sun in Oct 02:00:00"
;TZDaylightEndDateTime = "Last Sun in Mar 03:00:00"
;TZDaylightSTDModifyMins = -60
[Network]
[InputSettings]
[AutoExport]
[AutoImport]
[Directory]
[Security]
[Phone]
[ClientDB]
[ISAM]
[ISAM32]
[Licence]
[Departments]
[Groups]
[Users]
[Debug]