The Daylight Savings Time patch is listed as KB931836 as of time of this writing (02/28/07)...it was KB928388.
How to make sure you are synchronizing this update
What are the supported client Operating Systems?
What about Windows 2000?
If you do have the Windows 2000 hotfix from Microsoft (you would have received this only if you opened a PSS ticket with Microsoft and paid for the support!), you cannot deploy the update via WSUS. You would need to use a process similar to what I've mentioned below to deploy (or via other software deployment mechanisms).
Here's what I have done:
I followed the instructions on this page:
I created three files based upon their instructions, and copied them to my netlogon share (these scripts are attached below):
(although this file is for Windows 2000, it can be run on XP/2003 computers)
with the following code:
'This code updated 03/01/07 - added proper support for Server 2003...just in case. On error resume next Const HKEY_LOCAL_MACHINE = &H80000002 Dim bXP, bWin2k, sOS bWin2k = false bWin2k3 = false bWinXP = false Set WshShell = WScript.CreateObject("WScript.Shell") Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = objLocator.ConnectServer( strComputer, "root\default") Set WshSysEnv = WshShell.Environment("PROCESS") Set oReg = objWMIService.Get("StdRegProv") strComputer = "." 'strScriptPath = replace(wscript.scriptfullname,wscript.scriptname,"") Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Select Caption,ServicePackMajorVersion from Win32_OperatingSystem") strKeyPath = "system\currentcontrolset\control\timezoneinformation" subKey = "DaylightStart" For Each objOperatingSystem in colOperatingSystems If err.number <> 0 then wscript.quit End If sOS = objOperatingSystem.Caption wscript.echo sOS & " detected" If InStr(sOS, "2000") Then bWin2k = true ElseIf instr(sOs,"2003") Then bWin2k3 = true ElseIf instr(sOs,"XP") Then bWinXP = true End If Next oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,subKey,key For i = lBound(key) to uBound(key) sValue = sValue & key(i) Next 'IF bWin2k3 = true then inputbox "Binary values","Binary values",sValue 'wscript.echo bWin2k 'wscript.quit If sValue <> "0030202000000000" Then 'msgbox "This computer requires the DST patch." If bWin2k = true then wscript.echo "Patching system for Daylight Savings Time update..." WshShell.Run WshSysEnv("LOGONSERVER") & "\netlogon\DST2007Update_Win2K.cmd" ElseIf bWin2k3 = true then wscript.echo "Patching Server for Daylight Savings Time update..." WshShell.Run WshSysEnv("LOGONSERVER") & "\netlogon\WindowsServer2003-KB931836-x86-ENU.exe /z /u" Else If bWinXP = true then 'wscript.echo "TEST" If sValue <> "00110102000000000" Then 'wscript.echo "Patching system for Daylight Savings Time update..." 'WsShell.Run WshSysEnv("LOGONSERVER") & "\netlogon\Rockford\WindowsXP-KB931836-x86-ENU.exe /z /u" Else wscript.echo "Daylight Savings Time update already applied" End If End if End If Else wscript.echo "Daylight Savings Time update already applied" End if
I then added this script to our logon.bat file (you may want to assign it directly to your OU, be sure you use cscript.exe as the scripting engine, otherwise you will get popups during processing):
REM You will not need to do this if you have designated the DST_Update_W2K.vbs script as your logon script in the AD OU structure. echo Checking Operating System for Daylight Savings Time update echo. echo. cscript.exe /nologo "%logonserver%\netlogon\Rockford\DST_Update_W2K.vbs"
You may need to restart your computers in order for this to work, but I have tested it on our Windows 2000 stations here, and it works just fine.
The vbs is smart enough to determine the difference between XP and 2000.
You will need to rename each file with the proper extension. For example, DST2007Update_Win2K_cmd.txt is DST2007Update_Win2K.cmd.
You also may need to edit the .cmd file to run the files from the proper paths.