|15 Feb 2010 Update – To use technique found in this post with MDT 2010 you will need to use one of the workarounds described in this post: http://blogs.technet.com/deploymentguys/archive/2010/02/15/using-convertbooleantostring-with-ztigather-wsf-in-mdt-2010.aspx.|
System Center Configuration Manager 2007 Operating System Deployment has the ability to migrate the time zone from the source operating system to the destination operating system. This is done by using the Migrate time zone option in the Capture Windows Settings step of the task sequence.
Unfortunately, MDT Lite Touch Deployment does not offer the same functionality. So I created a User Exit script (GetCurrentTimeZoneExit.vbs) to query the source OS time zone and set the MDT time zone variable(s). Using this script with the CustomSettings.ini entries below will always set TimeZoneName and on legacy operating systems (Windows XP/Windows Server 2003 and earlier) it will set TimeZone. Also, the script can set two custom variables that query WMI for the time zone standard name (TimeZoneStandardName) and the Control Panel description of the time zone (TimeZoneCaption).
Copy GetCurrentTimeZoneExit.vbs to the MDT Scripts folder and add the following entries to CustomSettings.ini:
Properties=TimeZoneStandardName, TimeZoneCaption, IsLegacyOS
IsLegacyOS=#ConvertBooleanToString(%OSCurrentBuild% < 5200)#
This post was contributed by Michael Murgolo, a Senior Consultant with Microsoft Services – U.S. East Region.