Як не дати Windows перевести годинник

Інтернет-новини: У зв’язку з прийнятим нещодавно законом, що відміняє в Україні перехід на зимовий час, експерти Microsoft підготували поради користувачам про те, як не дати ОС автоматично перевести годинник.

Про це у своєму особистому блозі написав експерт з ІТ-інфраструктури департаменту стратегічних технологій Майкрософт Україна Ігор Шастістко.

“Достатньо в настройках часу ваших систем просто встановити часовий пояс “UTC+03:00 Калінінград”, за умови, як зазначено в статті на сайті підтримки, що у вас вже встановлені на комп’ютері останні оновлення часових поясів, випущені в серпні 2011 року – http://support.microsoft.com/kb/2570791″, – відзначає експерт, додаючи, що зазначене необхідно зробити до 30 жовтня, інакше годинники переведуться автоматично.

Начебто все легко і зрозуміло, але є одне велике АЛЕ – а що, як у мене не 1, 2 і навіть не 10 комп’ютерів, де подібну операцію можна виконати за 5 хвилин?

А що, якщо комп’ютери обчислюються сотнями і тисячами? Тоді рецепт ще більш простий – запускаємо скрипт, і все буде в шоколаді. Хоча тут теж стоїть перед нами два питання – який скрипт і як запускати.

Перше питання – “який скрипт?” – найбільш просте. Ось цей скрипт на PowerShell, який можна використовувати і як окремі команди, і у варіанті VBScript – кому як подобається:

$ TimeZone = “Kaliningrad Standard Time”
$ RegVer = Get-Item “HKLM: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion”
$ WinVer = $ regVer.GetValue (“CurrentVersion”)
if ($ winVer-GE 6) {
tzutil.exe / s $ timeZone

} {Else
$ Param = “/ c Start` “Change TimeZone` “/ MIN% WINDIR% \ System32 \ Control.exe TIMEDATE.CPL,, / z”
$ Param + = $ timeZone
$ Proc = [System.Diagnostics.Process]:: Start (“CMD.exe”, $ param)
}

Коротке пояснення роботи скрипта, якщо ви не маєте потреби в настільки універсальному інструменті:

– Скрипт перевіряє версію ОС, і:

– Якщо версія ОС вища або дорівнює Windows Vista/Windows Server 2008 – то для зміни часового поясу використовується нова команда – TZUTIL / z “Kaliningrad Standard Time”

– Якщо скрипт запущений на Windows XP/Windows Server 2003 і нижче – використовує для зміни часового поясу команду control.exe timedate.cpl,, / z “Kaliningrad Standard Time” – як це робилося в командному рядку Window XP

Щодо другого питання – “як запустити скрипт на всіх комп’ютерах в мережі?” – все досить просто:

– групові політики та їхні стартап-скрипти (у варіанті з Windows 7 є також і можливість явно вказувати запуск PowerShell), можна використовувати окремі скрипти/команди для різних типів ОС, фільтруючи при цьому політики через WMI

– у вас є System Center Configuration Manager? Тоді взагалі супер! Просто додайте пакет зі скриптом, назвавши його гордо “патчем”

– ручний варіант – виконати потрібний набір команд (не обов’язково повний скрипт, зазначений вище) через ще один скрипт, який отримає список машин з Active Directory (або будь-якого іншого джерела) і для кожної виконає віддалений виклик за допомогою:

o Invoke-Command в PowerShell
o Win32_Process.Create з використанням класів WMI і VBScript (готові приклади скриптів можна знайти тут http://gallery.technet.microsoft.com/ScriptCenter/

Думаю, це вам допоможе. Запрошую всіх зацікавлених ділитися тут своїми варіантами скриптів для встановлення часового поясу і, особливо, для поширення на сотні й тисячі машин у корпоративних мережах.

І залишається сподіватися, що чергову “рукотворну проблему-2000” Україна нормально переживе.

P.S. Повноцінний патч з окремим часовим поясом для України Microsoft обіцяє випустити вже в грудні 2011, якщо вірити все тому ж джерелу – http://support.microsoft.com/kb/2625508

* * *
Отримуйте новини там, де вам зручно:
Facebook / Твіттер / Український простір




Loading…