If you don't have the patch from extended support for 2000, don't want to visit every computer and manually run tzedit, then this is for you.
This is working great for me; however, I still recommend exercising extreme caution as everyone does when modifying the registry (expecially when it's every computer on your network at once). Also, please understand the implications of this on any time-sensitive applications on your OSs. That being said, here are the requirements:
-Run from central location from a logon with admin rights on all PCs
-Have the REG.exe utility from the 2000 Resource Kit
-AND note that this is written for Eastern Standard Time, other time zones would require changes to reflect, but you should be able to work it from what I have here.
-Also note that you will need a text file with a list of computers to run this against:
Copy this into a batch file and call it from the command line with a FOR loop, like so:
The %1 will be passed to the batch file as stdin and fill in the %1's in the batch file with the computer name. The list should not have \\ backslashes in front of the computer names. If you don't filter these out of the text file, you'll need to remove from the batch file.
I highly recommend getting your XP clients out of this list somehow, even though it wouldn't hurt them to run this (I've tested). I did a netview to get the computer list, piped this to a couple other commands, and then did a "if exist" on the kb928388.log file in \\pcname\admin$ to find the already patched (and assumed to be XP) machines.
This is working great for me; however, I still recommend exercising extreme caution as everyone does when modifying the registry (expecially when it's every computer on your network at once). Also, please understand the implications of this on any time-sensitive applications on your OSs. That being said, here are the requirements:
-Run from central location from a logon with admin rights on all PCs
-Have the REG.exe utility from the 2000 Resource Kit
-AND note that this is written for Eastern Standard Time, other time zones would require changes to reflect, but you should be able to work it from what I have here.
-Also note that you will need a text file with a list of computers to run this against:
Code:
::Update timezone
reg add "\\%1\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time" /v Display /t REG_SZ /d "(GMT-05:00) Eastern Time (US & Canada)" /f
reg add "\\%1\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time" /v Dlt /t REG_SZ /d "Eastern Daylight Time" /f
reg add "\\%1\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time" /v Std /t REG_SZ /d "Eastern Standard Time" /f
reg add "\\%1\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time" /v MapID /t REG_SZ /d "38,39" /f
reg add "\\%1\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time" /v Index /t REG_DWORD /d 35 /f
reg add "\\%1\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Eastern Standard Time" /v TZI /t REG_BINARY /d 2c01000000000000c4ffffff00000b0000000100020000000000000000000300000002000200000000000000 /f
::Update tzinfo
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v Bias /t REG_DWORD /d 300 /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName /t REG_SZ /d "Eastern Standard Time" /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardBias /t REG_DWORD /d 0 /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardStart /t REG_BINARY /d 00000b00010002000000000000000000 /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v DaylightName /t REG_SZ /d "Eastern Daylight Time" /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v DaylightBias /t REG_DWORD /d 4294967236 /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v DaylightStart /t REG_BINARY /d 00000300020002000000000000000000 /f
reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v ActiveTimeBias /t REG_DWORD /d 300 /f
Copy this into a batch file and call it from the command line with a FOR loop, like so:
Code:
FOR /F %1 in (pclist.txt) DO batchfilename.bat %1 >> output.log
The %1 will be passed to the batch file as stdin and fill in the %1's in the batch file with the computer name. The list should not have \\ backslashes in front of the computer names. If you don't filter these out of the text file, you'll need to remove from the batch file.
I highly recommend getting your XP clients out of this list somehow, even though it wouldn't hurt them to run this (I've tested). I did a netview to get the computer list, piped this to a couple other commands, and then did a "if exist" on the kb928388.log file in \\pcname\admin$ to find the already patched (and assumed to be XP) machines.