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.

$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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *