Disclaimer: The information in this document is written in response to an announcement by the government of Armenia about changes in the daylight saving time in Armenia for the year of 2012.
The steps provided in this bulletin were created to mitigate the impacts that the daylight saving time changes will cause for customers in Armenia. These are the impacts primarily anticipated at the time this document was written, and the effects that customers may face are not restricted to them.
Suggested actions on this document might receive additional testing and information described in this document may change without notice.
In addition, customers should be aware that further guidance may be provided at any time by Microsoft.
Special notes: The official decree cancelling DST in Armenia is published by the government on this page: http://parliament.am/legislation.php?sel=show&ID=4436
In an attempt to improve the country’s economy, the government of Armenia has cancelled Daylight Saving Time. This will result in the country staying on permanent ‘winter time’ and not moving an hour ahead on Sunday, March 25th 2012.
Since the new date published by the government is different from what was defined in the previous years, Windows-based computers will not correctly interpret the time after March 25th 2012.
Microsoft is not issuing an update for Windows at this time to address this change.The recommendation is to move to an alternate time zone: 'Russian Standard Time' [DisplayName: “(UTC+04:00) Moscow, St. Petersburg, Volgograd”]The native timezone for Armenia: 'Caucasus Standard Time' [DisplayName: “(UTC+04:00) Yerevan”] will be updated in the next cycle of cumulative timezone update for Windows (planned for August 2012).
General recommendations:
Changing Windows OS time zone to (UTC+04:00) Moscow, St. Petersburg, Volgograd
For Win7/WS08 R2, Vista/WS08 machines:
For Windows XP and Windows Server 2003 machines:
Automatically changing machine time zone to ‘(UTC +4:00) Moscow, St Petersburg, Volgograd)’ on Active Directory environments
Warning: If your domain has multiples site in different countries, make sure this solution is only deployed to machines located in Armenia. We recommend customers evaluate the alternatives and test before applying on production environments.
Note: Users running Windows Vista and Windows Server 2008 will have to first install KB2556308 in order to to use the TZUtil.exe utility.
On Active Directory environments, administrators may want to automate the change of time zones to “(UTC +4:00) Moscow, St Petersburg, Volgograd)”. This section explains how to deploy this time zone change via startup script. These procedures need to be executed in a Domain Controller or another machine with Admin Tools installed.
After performing all the steps below, all machines need to be restarted to automatically change the computer time zone. To avoid restarting a specific machine, please execute the procedures ‘Changing Windows OS time zone’ above to move this machine to ‘(UTC +4:00) Moscow, St Petersburg, Volgograd)’ time zone.
The script shown below can be used to change the current time zone to “(UTC +4:00) Moscow, St Petersburg, Volgograd)” on the client computer. The script also writes an event to the Application log of the client computer where the script was run.
On Error Resume Next strNewTimeZone = "Russian Standard Time" Set objSh = CreateObject("WScript.Shell") 'Get the StandardName key of the current time zone szStandardName = objSh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\StandardName") 'Enumerate the subkeys in the time zone database Const HKEY_LOCAL_MACHINE = &H80000002 Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") szTzsKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" objReg.EnumKey HKEY_LOCAL_MACHINE, szTzsKeyPath, arrTzSubKeys 'Step through the time zones to find the matching Standard Name szCurrentTzKey = "<Unknown>" For Each subkey In arrTzSubKeys strTimeZoneStandarName = "" strTimeZoneStandarName = objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & subkey & "\Std") If (strTimeZoneStandarName = szStandardName) Then 'Found matching StandardName, now store this time zone key name szCurrentTzKey = subkey End If Next Dim process, processid, result, strUpdateCommand Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2:Win32_process") 'Add time change privilege to the process object process.Security_.Privileges.AddAsString "SeSystemTimePrivilege", True strUpdateCommand = "control.exe timedate.cpl,,/Z" & strNewTimeZone 'Launch control.exe to change time zone using the TZ key name stored in strNewTimeZone result = process.Create(strUpdateCommand, Null, Null, processid) If result <> 0 Then objSh.LogEvent 1, "Process to change machine time zone failed to execute on this computer. Unable to change machine time zone." wScript.Quit 0 End If 'Get the display name from previous time zone and compare with the new time zone szPrevDispName = objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & szCurrentTzKey & "\Display") szNewDispName = objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & strNewTimeZone & "\Display") 'Write entry to the Application event log stating that the update has executed If szPrevDispName = szNewDispName Then objSh.LogEvent 4, "Machine time zone was refreshed. The current time zone is: " & Chr(13) & Chr(10) & Chr(13) & Chr(10) & szNewDispName & "." Else objSh.LogEvent 4, "Machine time zone was changed from: " & Chr(13) & Chr(10) & Chr(13) & Chr(10) & szPrevDispName & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "To: " & Chr(13) & Chr(10) & Chr(13) & Chr(10) & szNewDispName & "." End If
Note: Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
The script will test the Operating System version and apply the VBS described above on Windows XP and Windows 2003. For Windows 7/Server2008 R2 and Vista/Server2008, the script uses the TZUTIL.exe tool to change the time zone
@echo off ver |find /i "6.">nul IF %errorlevel% EQU 0 GOTO SIX cscript \\contoso.com\NETLOGON\ChangeTZ2012.vbs GOTO End :SIX ver |find /i "6.0">nul IF %errorlevel% EQU 0 GOTO Win ver |find /i "6.1">nul IF %errorlevel% EQU 0 GOTO Win GOTO End :Win TZUTIL /G |Find /i "Caucasus Standard Time" >nul IF %errorlevel% EQU 0 GOTO Armenia GOTO End :Armenia TZUTIL /s "Russian Standard Time" :End
Note: You must replace the \\contoso.com notation above with the actual DNS domain name for your Active Directory domain.
When the time zone is moved to “(UTC+04:00) Moscow, St. Petersburg, Volgograd", all Outlook calendar items from March 25th 2012 to October 28th 2012 will be displayed as occurring 1 hour earlier.
Options to correct your Outlook calendar in this scenario:
- or -
Special note: We recommend printing your calendar before any changes are made and review the calendar items to make sure these items appear at the correct times. You can use this printed copy of the calendar items to verify if Outlook has been updated successfully.
Using “Outlook Time Zone Data Update Tool version 3.0” after a time zone move
The following describes the steps to be followed by users performing a time zone move:
How to manually modify Outlook Calendar items:
After you move from the Yerevan time zone to “(UTC+04:00) Moscow, St. Petersburg, Volgograd", calendar items will be one hour off on the Delta Period, from March 25th 2012 to October 28th 2012.
A simpler alternative to correct the Outlook Calendar items is by adjusting the appointments manually. To do so:
Recommendations to minimize the impacts on Outlook/Exchange:
KB941018: How to address daylight saving time by using the Exchange Calendar Update Tool
KB934001: A troubleshooting guide to the Exchange Calendar Update Tool (Msextmz.exe)
KB931667: How to address time zone changes by using the Time Zone Data Update Tool for Microsoft Office Outlook
KB943390: Some Outlook calendar items are rebased incorrectly when you use the Outlook Time Zone Data Update Tool to adjust for daylight saving time changes in certain time zones