Scripts/Utility/GetCurrentTimeZone.ps1
function GetCurrentTimeZone { [OutputType('System.Object')] [cmdletbinding()] param( ) [string]$timeZone = "America/Los_Angeles" try { $standardTZ = (Get-TimeZone).Id # find out if its a Windows OS [bool]$itsWindows = [System.Environment]::OSVersion.VersionString -like "*Windows*" if ($itsWindows) { # need to convert the time zone for windows (for consistency) # Ref : https://devblogs.microsoft.com/dotnet/cross-platform-time-zones-with-net-core/ $standardTZ = [TimeZoneConverter.TZConvert]::WindowsToIana($standardTZ) } $timeZone = $standardTZ } catch { $errorMsg = "Exception : Constructing time zone, " + $_.Exception.Message CSLog -Message $errorMsg -Severity 3 } return $timeZone } |