1

Тема: VBS: функция DayOfWeek по-разному работает на разных ПК

Добрый день.
Имею скрипт:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select DayOfWeek from Win32_UTCTime")
For Each objItem in colItems
Wscript.Echo "Day of Week: " & objItem.DayOfWeek
next

Проблема в том, что на разных компьютерах он возвращает разные значения. Например, на ПК с Windows7 воскресение=0, а на XP = 7. Подскажите как это побороть? Заранее спасибо.
Вместо строчки ("Select DayOfWeek from Win32_UTCTime") подставлял ("Select DayOfWeek from Win32_LocalTime") - не помогло.

2

Re: VBS: функция DayOfWeek по-разному работает на разных ПК

madjahed,
Советую еще раз все перепроверить. В MSDN написано однозначно:

the value 0 (zero) is always Sunday, regardless of the culture or the locale set on the machine.

Я только что проверил на ХР. В MSDN - написано верно.

3

Re: VBS: функция DayOfWeek по-разному работает на разных ПК

madjahed
А так ли принципиально через WMI?

SetLocale(1049) : Num = WeekDay(Date, 0)
MsgBox "День недели: " & Num & " (" & WeekDayName(Num,,0) & ")"