gratifiant > microsoft.* > microsoft.windows2000server

Jack Miak (24/10/2003, 18h47)
Bonjour,

Mes serveurs WIndowse 2000 server sont reglées sur Paris,
avec coché : "Ajuster l'horloge pour l'observation
automatique de l'heure d'été"

- Je cherche à savoir à quel heure les serveurs Windows
2000 passent à l'heure d'hiver par defaut ?

- A quel endroit je peut verfier l'heure de changement ?

- A quel endroit je peut modifier l'heure du changement
d'heure ?
Jean-Claude BELLAMY (24/10/2003, 22h03)
Jack Miak <anonymous> s'est ainsi exprimé:

> Mes serveurs WIndowse 2000 server sont reglées sur Paris,
> avec coché : "Ajuster l'horloge pour l'observation
> automatique de l'heure d'été"
> - Je cherche à savoir à quel heure les serveurs Windows
> 2000 passent à l'heure d'hiver par defaut ?
> - A quel endroit je peut verfier l'heure de changement ?
> - A quel endroit je peut modifier l'heure du changement
> d'heure ?


Les infos d'heure sont stockées ici :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\TimeZoneInformation

L'activation du système d'heure d'été est stocké dans l'entrée
"DisableAutoDaylightTimeSet" de type REG_WORD
valeur :
0x1 -> observation d'heure d'été non appliquée
0x0 (ou absente) -> observation d'heure d'été appliquée

En ce qui concerne la définition des mois de changement d'heure, c'est
stocké dans les entrées "StandardStart" et "DaylightStart".
Elles sont de type REG_BINARY, et contiennent 16 octets, qui représentent
une structure "SYSTEMTIME" :

typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;

Le n° de mois de changement d'heure est stocké dans le 3ème octet (= octet
de poids faible du champ wMonth)

- heure d'hiver :
"StandardStart"
-> 3ème octet = 0x0A (= actuellement octobre)

- heure d'été :
"DaylightStart"
-> 3ème octet = 0x03 (= actuellement mars)

Les valeurs de ces paramètres (0x03, 0x0A) sont stockées dans la clef
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
Zones\xxxxxxx
Avec, pour l'Europe occidentale, xxxxx = "Romance Standard Time"
L'entrée contenant les valeurs numériques s'appelle "TZI" et est de type
REG_BINARY
(à partir de l'offset 0x0C)

par contre, dans TimeZoneInformation, je ne trouve pas la correspondance
avec l'heure de passage.

En effet,
()
"depuis 1998 pour l'ensemble des pays de l'Union
Européenne, le passage à l'heure d'été intervient
le dernier dimanche de mars à 2 heures du matin
et le passage à l'heure d'hiver intervient le dernier
dimanche d'octobre à 3 heures du matin."

On retrouve bien :
la valeur 0x02 dans DaylightStart
la valeur 0x03 dans StandardStart
mais PAS AU BON ENDROIT !
D'après la structure SYSTEMTIME, ce devrait être au 9ème octet, or c'est au
7ème dans la BDR
Un mystère microsoftien !!! ;+)
Thierry F. [MS MVP] (24/10/2003, 22h27)
C'est dingue le temps que tu peux passer pour chercher un truc pareil ;-)

*** admiratif ***
Discussions similaires