Archive

Articles taggués ‘W32time’

Garder le contrôle du temps dans Active Directory

Dans un domaine Active Directory le contrôleur de domaine hébergeant le rôle PDC est la référence de temps. C’est lui qui est en charge de se mettre à l’heure depuis une référence de temps externe via le protocole NTP et de fournir l’heure pour tous les membres du domaine.
Les autres contrôleurs de domaine viennent se mettre à l’heure sur le PDC via le protocole NT5DS.
Les serveurs et ordinateurs membres du domaine se mettent à l’heure depuis les contrôleurs de domaine via le protocole NT5DS.
La mise à l’heure est effectuée par le service w32time sur l’ensemble des systèmes d’exploitation Microsoft.

W32tm

Par défaut le service de temps des serveurs et ordinateurs du domaine est configuré de type NT5DS. Il n’y a donc que le PDC à configurer pour récupérer l’heure en NTP sur une source externe.
Pour rappel, le service de temps utilise le port UDP 123. Il faut donc configurer votre firewall en conséquence.

Si nécessaire, il est possible de figer cette configuration par GPO. Vous serez alors certains que les membres du domaine sont à l’heure.

Voici tout d’abord comment configurer par GPO le service w32time du PDC pour utiliser NTP.

1- Créer une GPO « Mise à l’heure du PDC »
2- Créer un filtre WMI pour sélectionner le PDC.
Le filtre est Select * from Win32_ComputerSystem where DomainRole = 5
Ce filtre assure que seul le PDC est affecté par cette GPO même si celui-ci est remplacé ou le rôle déplacé sur un autre contrôleur.

WMI-Filter-conf

WMI-Filter

 

Il est possible de faire la configuration à la main, mais la GPO va permettre que garantir que la configuration ne bouge pas.

3- Appliquer le filtre WMI sur la GPO.

4- Configurer le service de temps dans la GPO.

« Système/Service de temps Windows/Fournisseurs de temps »
Ne changer que NtpServer et Type.

GPO-NTP

5- Appliquer la GPO sur l’OU « Contrôleurs de domaine ».

 

Voici maintenant comment configurer par GPO le service w32time sur les membres et contrôleurs du domaine en NT5DS.

1- Créer une GPO « Mise à l’heure du domaine ».
2- Configurer le service de temps dans la GPO.
« Système/Service de temps Windows/Fournisseurs de temps »
Il suffit d’activer la GPO sans changer la configuration.
GPO-NT5DS
5- Appliquer la GPO à la racine du domaine.

 

Vous garantissez ainsi que l’ensemble de votre domaine est à l’heure.

Contrôler l’heure locale de tous les ordinateurs d’une OU

Voici un script PowerShell qui retourne l’heure locale de tous les ordinateurs présents dans une OU de l’Active Directory.
Il contrôle préalablement si l’ordinateur ou serveur répond à un ping.

?View Code POWERSHELL
$ping = new-object System.Net.NetworkInformation.Ping
$servers = Get-ADComputer -SearchBase "OU=Serveurs,DC=domain,DC=local" -filter *
Foreach ($server in $servers){
$servername = $server.name
$reply = $ping.send($servername)
if ($reply.status –eq “Success”)
{
$rtime = $null
$rtime = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $servername -ErrorAction SilentlyContinue
if ($rtime -ne $null) {
$time = $rtime.ConvertToDateTime($rtime.LocalDateTime)
Write-Host $servername" : "$time
}}
Else{
Write-Host "Server $servername not responding"
}
}

Il y a quelques seconds entre le premier et le dernier en fonction du nombre d’ordinateurs et du délais d’exécution.

Categories: Active Directory Tags: , ,