From 3344efd552e020527ea1724ca101291c634bdfc9 Mon Sep 17 00:00:00 2001 From: michelletandya Date: Thu, 2 Sep 2021 17:41:54 +0000 Subject: [PATCH] ensure time is in Universal Time Zone to properly calculate uptime --- pkg/healthchecker/health_checker_windows.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/healthchecker/health_checker_windows.go b/pkg/healthchecker/health_checker_windows.go index a299ab4fb..2a264fb48 100644 --- a/pkg/healthchecker/health_checker_windows.go +++ b/pkg/healthchecker/health_checker_windows.go @@ -44,8 +44,8 @@ func getUptimeFunc(service string) func() (time.Duration, error) { getTimeCreatedCmd := `$ProcessId = (Get-WMIObject -Class Win32_Service -Filter "Name='` + service + `'" | Select-Object -ExpandProperty ProcessId);` + `if ([string]::IsNullOrEmpty($ProcessId) -or $ProcessId -eq 0) { (Get-WinEvent -FilterHashtable @{logname='system';id=7036} ` + `| Where-Object {$_.Message -match '.*(` + service + `).*(running).*'} | Select-Object -Property TimeCreated -First 1 | ` + - `foreach {$_.TimeCreated.ToString('R')} | Out-String).Trim() } else { (Get-Process -Id $ProcessId | Select starttime | ` + - `foreach {$_.starttime.ToString('R')} | Out-String).Trim() }` + `foreach {$_.TimeCreated.ToUniversalTime().ToString('R')} | Out-String).Trim() } else { (Get-Process -Id $ProcessId | Select starttime | ` + + `foreach {$_.starttime.ToUniversalTime().ToString('R')} | Out-String).Trim() }` out, err := powershell(getTimeCreatedCmd) if err != nil { return time.Duration(0), err