We had an issue where the clocks on various hosts got offset beyond the margin allowed by an application we were testing. Here's a way to scan hosts for their clock skew relative to a known good server:
function Get-RemoteTime { param ( [String[]]$computerName = @($env:COMPUTERNAME) ) foreach ($computer in $computerName) { if (!$computer) { continue; } $localTime = Get-Date; $time = Get-WmiObject -ComputerName $computer Win32_LocalTime; $remoteTime = ("{0}/{1}/{2} {3}:{4}:{5}" -f $time.year, $time.month, $time.day, $time.hour, $time.minute, $time.second) -as [DateTime]; $skew = [Math]::Abs([int]($localTime - $remoteTime).TotalSeconds);
$computer | Select-Object @{ n = 'Computer'; e = { $_; } }, @{ n = 'LocalTime'; e = { $localTime; } }, @{ n = 'RemoteTime'; e = { $remoteTime; } }, @{ n = 'Skew'; e = { $skew; } } } }