(modifié le 10 mai 2009 à 14:49)

Les décalages horaires (date et heure) entre une station cliente et son contrôleur de domaine peuvent être source de nombreux problèmes. Les connexions à des ressources partagées via des lecteurs réseaux sont de loin les plus problématiques.

Pour pallier à cette différence vous avez deux solutions, dans notre cas c'est un serveur Windows 2003 qui sera utilisé.

Stratégie de groupe (GPO) Active Directory

La façon la plus efficace pour remettre à la bonne heure et date tout un parc informatique fonctionnant sur une architecture Active Directory est d'utiliser une GPO applicable à tous les utilisateurs du domaine.

Ouvrir le Gestionnaire de stratégies de groupes (démarrer > exécuter > gpmc.msc), puis créer une GPO applicable à tous les ordinateurs ou bien éditer la stratégie existante "Default Domain Controllers Policy".

Rendez vous dans Configuration Ordinateur > Modèles d'administration > Système > Service de temps Windows > Fournisseurs de temps :

Libre à vous ensuite de choisir un serveur SNTP Windows, ou bien un serveur NTP unix mondial (que je vous conseille fortement).

Sur le serveur Windows 2003 pensez à valider les modifications de la stratégie de groupe via la commande gpupdate (obligatoire).

Redémarrer une machine cliente pour essayer, une fois logué ouvrez une invite de commande (démarrer > exécuter > cmd) et tapez :

net time /querysntp

Windows vous retournera alors l'adresse du fournisseur de temps précisé dans la GPO.

Forcer une synchronisation infructueuse

Il peut arriver que certaines de vos stations se décalent au niveau de l'horloge Windows, soit parce que le serveur de temps est non joignable, soit parce que la communication avec le serveur de temps est impossible (pare-feu), soit par bug (et croyez-moi ça arrive).

Il est donc tout à fait possible de forcer la mise à jour de l'heure et date de la station cliente sur l'horloge du contrôleur de domaine (Windows 2003), en outrepassant la GPO. Veillez à ce que votre contrôleur de domaine soit donc à l'heure avant de procéder à cette manipulation.

Voici le script qui va bien (téléchargez-le ici) :

@echo off
echo RESYNCHRONISATION DE L'HEURE via PDC DOMAINE
net time /set /domain:votre_domaine /y
echo Synchronisation terminee

Pensez à remplacer "votre_domaine" par le nom de votre domaine.

Si vous souhaitez forcer ce script au login sur les stations clientes, vous pouvez copier le script dans un fichier login.bat et le placer dans le répertoire :

\\votre_controleur\SYSVOL\votre_domaine\scripts\

du contrôleur de domaine.

Ensuite dans les propriétés d'un utilisateur AD dans l'onglet "Profil" > "Script d'ouverture de session" entrez : login.bat.

votre_controleur = nom UNC du contrôleur

Enfin, sachez que ce système de synchronisation forcée est instantané. Il vous sera pas contre impossible de resynchroniser un PC dont la date est en avance de plus de 2 ans (bug Windows ?).

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter