Annexe : Fichier pour heure d'été Maroc

Contenu du fichier DST2008Update_Morocco.cmd:

@echo off

regedit /s TZupdate.reg

cscript refreshTZinfo.vbs

 

Contenu du fichier refreshTZinfo.vbs:

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

szTzKey = "<Unknown>"

For Each subkey In arrTzSubKeys

    If (objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & subkey & "\Std") = szStandardName) Then

        'Found matching StandardName, now store this time zone key name

        szTzKey = subkey

    End If

Next

 

If szTzKey = "<Unknown>" Then

       'Write entry to the Application event log stating that the update has failed to execute

       objSh.LogEvent 1, "DST 2008 Registry Update and Refresh failed to execute on this computer.  Time zones failed to enumerate properly or matching time zone not found."

       Wscript.Quit 0

End If

 

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" & szTzKey

 

'Launch control.exe to refresh time zone information using the TZ key name obtained above

result = process.create(strUpdateCommand,Null,Null,processid)

If result <> 0 Then

   objSh.LogEvent 1, "DST 2008 Registry Update and Refresh failed to execute on this computer.  Unable to refresh the Timezone database."

    Wscript.Quit 0

End If

 

'Get current display name of refreshed time zone

szCurrDispName = objSh.RegRead("HKLM\" & szTzsKeyPath & "\" & szTzKey & "\Display")

 

'Write entry to the Application event log stating that the update has executed

objSh.LogEvent 4, "DST 2008 Registry Update and Refresh has been executed on this computer." & chr(13) & chr(10) & chr(13) & chr(10) & "Current time zone is: " & szCurrDispName & "."

 

Contenu du fichier TZupdate.reg:

 Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Morocco Standard Time]

"Display"="(GMT) Morocco"

"Dlt"="Morocco Daylight Time"

"Std"="Morocco Standard Time"

"TZI"=hex:00,00,00,00,00,00,00,00,c4,ff,ff,ff,00,00,09,00,00,00,05,00,00,00,3b,00,3b,00,00,00,00,00,05,00,06,00,05,00,17,00,3b,00,3b,00,00,00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Morocco Standard Time\Dynamic DST]

"FirstEntry"=dword:000007d7

"LastEntry"=dword:000007d9

"2008"=hex:00,00,00,00,00,00,00,00,c4,ff,ff,ff,00,00,09,00,06,00,05,00,17,00,3b,00,3b,00,e7,03,00,00,05,00,06,00,05,00,17,00,3b,00,3b,00,e7,03

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]

"StandardName"="Morocco Standard Time"

 

Dernière révision : 30 ??????, 2009