Dates and Time Scripts
Converting WMI Date-Time ValuesDetermining Time Zone Offset from Greenwich Mean Time
Determining UTC Time
Determining the Local Time on a Computer
Retrieving Time Zone Information for a Computer
Converting WMI Date-Time Values
Demonstrates a method for converting the Universal Time Coordinate (UTC) values used by WMI to standard date-time values. The script retrieves the date that the operating system was installed, and passes that UTC value to a function named WMIDateStringToDate. This function converts the UTC value (such as 20011029113047.000000-480) to a standard date-time value (such as 10/29/200111:30:47 AM).
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set objOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each strOS in objOS dtmInstallDate = strOS.InstallDate strReturn = WMIDateStringToDate(dtmInstallDate) Wscript.Echo strReturn Next Function WMIDateStringToDate(dtmInstallDate) WMIDateStringToDate = CDate(Mid(dtmInstallDate, 5, 2) & "/" & _ Mid(dtmInstallDate, 7, 2) & "/" & Left(dtmInstallDate, 4) _ & " " & Mid (dtmInstallDate, 9, 2) & ":" & _ Mid(dtmInstallDate, 11, 2) & ":" & Mid(dtmInstallDate, _ 13, 2)) End Function
Determining Time Zone Offset from Greenwich Mean Time
Determines the difference (in minutes) between the time zone in use on the specified computer and Greenwich Mean Time. The time zone offset can be extremely useful in WMI scripts that need to work with date-time values.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colTimeZone = objWMIService.ExecQuery("Select * from Win32_TimeZone") For Each objTimeZone in colTimeZone Wscript.Echo "Offset: "& objTimeZone.Bias Next
Determining UTC Time
Reports the Universal Time Coordinate (UTC) time on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_UTCTime") For Each objItem in colItems Wscript.Echo "Day: " & objItem.Day Wscript.Echo "Day Of the Week: " & objItem.DayOfWeek Wscript.Echo "Hour: " & objItem.Hour Wscript.Echo "Milliseconds: " & objItem.Milliseconds Wscript.Echo "Minute: " & objItem.Minute Wscript.Echo "Month: " & objItem.Month Wscript.Echo "Quarter: " & objItem.Quarter Wscript.Echo "Second: " & objItem.Second Wscript.Echo "Week In the Month: " & objItem.WeekInMonth Wscript.Echo "Year: " & objItem.Year Next
Determining the Local Time on a Computer
Returns information about the local time configured on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set objOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each strOS in objOS dtmInstallDate = strOS.InstallDate strReturn = WMIDateStringToDate(dtmInstallDate) Wscript.Echo strReturn Next Function WMIDateStringToDate(dtmInstallDate) WMIDateStringToDate = CDate(Mid(dtmInstallDate, 5, 2) & "/" & _ Mid(dtmInstallDate, 7, 2) & "/" & Left(dtmInstallDate, 4) _ & " " & Mid (dtmInstallDate, 9, 2) & ":" & _ Mid(dtmInstallDate, 11, 2) & ":" & Mid(dtmInstallDate, _ 13, 2)) End Function
Retrieving Time Zone Information for a Computer
Retrieve information about the time zone configured on a computer.
On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_TimeZone") For Each objItem in colItems Wscript.Echo "Bias: " & objItem.Bias Wscript.Echo "Caption: " & objItem.Caption Wscript.Echo "Daylight Bias: " & objItem.DaylightBias Wscript.Echo "Daylight Day: " & objItem.DaylightDay Wscript.Echo "Daylight Day Of Week: " & objItem.DaylightDayOfWeek Wscript.Echo "Daylight Hour: " & objItem.DaylightHour Wscript.Echo "Daylight Millisecond: " & objItem.DaylightMillisecond Wscript.Echo "Daylight Minute: " & objItem.DaylightMinute Wscript.Echo "Daylight Month: " & objItem.DaylightMonth Wscript.Echo "Daylight Name: " & objItem.DaylightName Wscript.Echo "Daylight Second: " & objItem.DaylightSecond Wscript.Echo "Daylight Year: " & objItem.DaylightYear Wscript.Echo "Description: " & objItem.Description Wscript.Echo "Setting ID: " & objItem.SettingID Wscript.Echo "Standard Bias: " & objItem.StandardBias Wscript.Echo "Standard Day: " & objItem.StandardDay Wscript.Echo "Standard Day Of Week: " & objItem.StandardDayOfWeek Wscript.Echo "Standard Hour: " & objItem.StandardHour Wscript.Echo "Standard Millisecond: " & objItem.StandardMillisecond Wscript.Echo "Standard Minute: " & objItem.StandardMinute Wscript.Echo "Standard Month: " & objItem.StandardMonth Wscript.Echo "Standard Name: " & objItem.StandardName Wscript.Echo "Standard Second: " & objItem.StandardSecond Wscript.Echo "Standard Year: " & objItem.StandardYear Wscript.Echo Next