Изменить часовой пояс windows server 2012

Describes an update that makes time zone data changes for Russia.

Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows 8 Enterprise Windows 8 Pro Windows 8 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Foundation Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Foundation Windows Vista Ultimate Windows Vista Enterprise Windows Vista Business Windows Vista Home Premium Windows Vista Home Basic Windows Vista Starter Windows Embedded POSReady 2009 Windows Embedded Standard 7 More…Less

Summary

In accordance with recently passed Russian law, the following regions in Russia were scheduled to switch time zones on March 27, 2016, at 02:00 local time. Microsoft has released an update to Windows, dated Tuesday, April 12, 2016, to reflect these changes.

Region

Old time zone offset

New time zone offset

Astrakhan Oblast

UTC+3

UTC+4

Ulyanovsk Oblast

UTC+3

UTC+4

Altai Krai

UTC+6

UTC+7

Altai Republic

UTC+6

UTC+7

Zabaykalsky Krai

UTC+8

UTC+9

Sakhalin Oblast

UTC+10

UTC+11

Resolution

  • The update that is described in this article changes the time zone data to accommodate daylight saving time (DST) changes in several countries.

    This is a cumulative update rollup that includes all previous Windows time zone changes. For more information about how DST changes may affect other Microsoft products, go to the following Microsoft websites:

    General information about DST

    914387 How to configure daylight saving time for Microsoft Windows operating systems

  • When you apply this update, you may receive a message that resembles the following:

    Update cannot be installed as a newer or same time zone update has already been installed on the system.This message indicates that either you have already applied the correct update or Windows Updates or Microsoft Update has automatically installed this update. No additional action is required to update the Windows operating system.

How to get this updateThe following files are available for download and installation from the Microsoft Download Center.

Operating system

Update

All supported x86-based versions of Windows 8.1

Download
Download the package now.

All supported x64-based versions of Windows 8.1

Download
Download the package now.

All supported x64-based versions of Windows Server 2012 R2

Download
Download the package now.

All supported x64-based versions of Windows Server 2012

Download
Download the package now.

All supported x86-based versions of Windows 7

Download
Download the package now.

All supported x64-based versions of Windows 7

Download
Download the package now.

All supported x64-based versions of Windows Server 2008 R2

Download
Download the package now.

All supported IA-based versions of Windows Server 2008 R2

Download
Download the package now.

All supported x86-based versions of Windows Vista

Download
Download the package now.

All supported x64-based versions of Windows Vista

Download
Download the package now.

All supported x86-based versions of Windows Server 2008

Download
Download the package now.

All supported x64-based versions of Windows Server 2008

Download
Download the package now.

All supported IA-based versions of Windows Server 2008

Download
Download the package now.

For more information about how to download Microsoft support files, click the following article number to go to the article in the Microsoft Knowledge Base:

Microsoft scanned these files for viruses. Microsoft used the most current virus-detection software that was available on the date that the files were posted. The files are stored on security-enhanced servers that help prevent any unauthorized changes to the files.

PrerequisitesWindows 8.1 and Windows Server 2012 R2

To apply this update, you must have update 2919355 installed. For more information about how to get this update, click the following article number to go to the article in the Microsoft Knowledge Base:

2919355 Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 update: April 2014Windows 8 and Windows Server 2012

No prerequisites are required to apply this update.

Windows 7 and Windows Server 2008 R2

No prerequisites are required to apply this update. The same package installs both on the RTM version and the Service Pack 1 versions of Windows 7 and Windows Server 2008 R2. For more information about how to get a Windows 7 or a Windows Server 2008 R2 service pack, click the following article number to go to the article in the Microsoft Knowledge Base:

968849 How to get the latest service pack for Windows Server 2008

Registry informationTo apply this update, you don’t have to make any changes to the registry.

Restart requirementYou must restart the computer after you install this cumulative update.

Changes to Windows time zone data

This update includes the following changes and additions. Users in the affected regions can switch to these new time zones after the update is installed.

New Time Zones

Astrakhan Oblast & Ulyanovsk Oblast

Time zone key / ID

Astrakhan Standard Time

English display name

(UTC+04:00) Astrakhan, Ulyanovsk

Time zone offset (before transition)

UTC+3

Time zone offset (after transition)

UTC+4

Altai Republic & Altai Krai

Time zone key / ID

Altai Standard Time

English display name

(UTC+07:00) Barnaul, Gorno-Altaysk

Time zone offset (before transition)

UTC+6

Time zone offset (after transition)

UTC+7

Zabaykalsky Krai

Time zone key / ID

Transbaikal Standard Time

English display name

(UTC+09:00) Chita

Time zone offset (before transition)

UTC+8

Time zone offset (after transition)

UTC+9

Sakhalin Oblast

Time zone key / ID

Sakhalin Standard Time

English display name

(UTC+11:00) Sakhalin

Time zone offset (before transition)

UTC+10

Time zone offset (after transition)

UTC+11

Changes to Existing Time ZonesThese changes affect the display name only. No time changes will be introduced.

Time zone key / ID

Old display name

New display name

Kaliningrad Standard Time

(UTC+02:00) Kaliningrad (RTZ 1)

(UTC+02:00) Kaliningrad

Russian Standard Time

(UTC+03:00) Moscow, St. Petersburg, Volgograd (RTZ 2)

(UTC+03:00) Moscow, St. Petersburg, Volgograd

Russia Time Zone 3

(UTC+04:00) Izhevsk, Samara (RTZ 3)

(UTC+04:00) Izhevsk, Samara

Ekaterinburg Standard Time

(UTC+05:00) Ekaterinburg (RTZ 4)

(UTC+05:00) Ekaterinburg

North Central Asia Standard Time

(UTC+06:00) Novosibirsk (RTZ 5)

(UTC+06:00) Novosibirsk

North Asia Standard Time

(UTC+07:00) Krasnoyarsk (RTZ 6)

(UTC+07:00) Krasnoyarsk

North Asia East Standard Time

(UTC+08:00) Irkutsk (RTZ 7)

(UTC+08:00) Irkutsk

Yakutsk Standard Time

(UTC+09:00) Yakutsk (RTZ 8)

(UTC+09:00) Yakutsk

Vladivostok Standard Time

(UTC+10:00) Vladivostok, Magadan (RTZ 9)

(UTC+10:00) Vladivostok

Russia Time Zone 10

(UTC+11:00) Chokurdakh (RTZ 10)

(UTC+11:00) Chokurdakh

Russia Time Zone 11

(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky (RTZ 11)

(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky

File informationFor a list of the files that are provided in this update, download the file information for update 3148851.

References

For an official policy statement about these changes, see the following Microsoft Daylight Saving Time & Time Zone Blog article:

Time Zone Updates for RussiaFor general Windows support for time zone and daylight saving time issues, go to the following Microsoft website:

Daylight Saving Time Help and Support Center

Need more help?

Часовой пояс (Time zone), наряду с временем и датой, это один из критический параметров компьютера. Для корректной работы Windows/прикладных программ и правильного отображения времени в системе, часовой пояс должен быть установлен в соответствии с географическим расположением компьютера. В этой статье мы рассмотрим, как изменить часовой пояс в Windows из графического интерфейса, командной строки, консоли PowerShell и с помощью групповых политик.

В Windows 10 и Windows Server 2019/2016 для настройки времени и часового пояса используется новое окно в приложении (Параметры/Settings). Вы можете установить часовой пояс из графического интерфейса, щелкнув правой кнопкой по значку часов в системном трее и выбрав пункт Adjust date/time (Настройка времени и даты). По умолчанию Windows пытается автоматически выбрать часовой пояс (включена опция Set time zone automatically/Автоматически устанавливать часовой пояс). Вы можете отключить эту опцию и задать нужный часовой пояс вручную, выбрав его в выпадающем списке.

параметры часового пояса windows 10 в приложении параметрыchasovogo-poyasa

Также вы можете вызвать классическое окно настройки времени в Windows, выполнив команду
timedate.cpl
.

windows10 выбор часового пояса

Содержание:

  • Назначаем права на изменение часового пояса в Windows
  • Утилита TZUtil: изменить часовой пояса из командной строки Windows 10
  • Управление часовым поясом в Windows из PowerShell
  • Настройка часового пояса через GPO
  • Ошибка при изменении часового пояса в Windows Server 2019

Назначаем права на изменение часового пояса в Windows

По-умолчанию смена часового пояса в Windows 10 не требует от пользователя наличия прав администратора (в отличии от смены времени/даты). Вы можете запретить пользователям менять часовой пояс с помощью локальной политики безопасности (Local Security Settings
secpol.msc
). Интересующая нас настройка находится в разделе Security Settings -> Local Policy -> User Rights Assignment (Параметры безопасности -> Локальные политики -> Назначение прав пользователя). Политика называется Change the time zone (Изменение часового пояса). По умолчанию изменить часовой пояс в Windows 10 может сама система, администраторы и все пользователи. Чтобы запретить простым пользователям самим менять часовой пояс, необходимо удалить Users из списка учетных записей в этой политике.

Изменение часового пояса - политика

В Windows Server право на изменение часового пояса есть только у Local Service и администраторов.

Утилита TZUtil: изменить часовой пояса из командной строки Windows 10

Для смены часового пояса в Windows 11/10/8.1, Windows Server 2019/2016/2012 R2/ используется специальная утилита командной строки tzutil.exe (Windows Time Zone Utility), впервые появившаяся в Windows 7. Исполняемый файл утилиты хранится в каталоге
%WINDIR%System32
.

Разберемся с возможностями и особенностями использования утилиты TZUtil.

Откройте командную строку (
cmd.exe
). Чтобы узнать текущий часовой пояс и его идентификатор (TimeZoneID), выполните команду:

tzutil /g

В данном примере Russian Standard Time это идентификатор текущего часового пояса:

tzutil /g узнать текущий часовой пояс компьютера

Выведите список всех часовых поясов с их названием и идентификаторами:

tzutil /l

tzutil /l список всех часовых поясов

Dateline Standard Time
UTC-11
Aleutian Standard Time
Hawaiian Standard Time
Marquesas Standard Time
Alaskan Standard Time
UTC-09
UTC-08
Pacific Standard Time (Mexico)
Pacific Standard Time
US Mountain Standard Time
Mountain Standard Time
Mountain Standard Time (Mexico)
Central Standard Time (Mexico)
Canada Central Standard Time
Central America Standard Time
Central Standard Time
Easter Island Standard Time
SA Pacific Standard Time
Eastern Standard Time
Cuba Standard Time
Haiti Standard Time
US Eastern Standard Time
Turks And Caicos Standard Time
Eastern Standard Time (Mexico)
Paraguay Standard Time
Atlantic Standard Time
SA Western Standard Time
Venezuela Standard Time
Central Brazilian Standard Time
Pacific SA Standard Time
Newfoundland Standard Time
Tocantins Standard Time
E. South America Standard Time
Argentina Standard Time
 Greenland Standard Time
SA Eastern Standard Time
Montevideo Standard Time
Magallanes Standard Time
Bahia Standard Time
Saint Pierre Standard Time
UTC-02
Mid-Atlantic Standard Time
Azores Standard Time
Cape Verde Standard Time
UTC
GMT Standard Time
Morocco Standard Time
Greenwich Standard Time
W. Europe Standard Time
Central Europe Standard Time
Romance Standard Time
Central European Standard Time
W. Central Africa Standard Time
Sao Tome Standard Time
Jordan Standard Time
GTB Standard Time
Middle East Standard Time
FLE Standard Time
Namibia Standard Time
Syria Standard Time
Israel Standard Time
Egypt Standard Time
Kaliningrad Standard Time
E. Europe Standard Time
West Bank Standard Time
Libya Standard Time
South Africa Standard Time
Sudan Standard Time
Arabic Standard Time
Arab Standard Time
Belarus Standard Time
Russian Standard Time
E. Africa Standard Time
Turkey Standard Time
Iran Standard Time
Arabian Standard Time
Astrakhan Standard Time
Azerbaijan Standard Time
Caucasus Standard Time
Russia Time Zone 3
Mauritius Standard Time
Saratov Standard Time
Georgian Standard Time
Afghanistan Standard Time
West Asia Standard Time
Ekaterinburg Standard Time
Pakistan Standard Time
India Standard Time
Sri Lanka Standard Time
Nepal Standard Time
Central Asia Standard Time
Bangladesh Standard Time
Omsk Standard Time
Myanmar Standard Time
SE Asia Standard Time
Altai Standard Time
North Asia Standard Time
N. Central Asia Standard Time
Tomsk Standard Time
W. Mongolia Standard Time
China Standard Time
North Asia East Standard Time
Singapore Standard Time
W. Australia Standard Time
Taipei Standard Time
Ulaanbaatar Standard Time
North Korea Standard Time
Aus Central W. Standard Time
Tokyo Standard Time
Korea Standard Time
Transbaikal Standard Time
Yakutsk Standard Time
Cen. Australia Standard Time
AUS Central Standard Time
E. Australia Standard Time
Vladivostok Standard Time
West Pacific Standard Time
AUS Eastern Standard Time
Tasmania Standard Time
Lord Howe Standard Time
Magadan Standard Time
Bougainville Standard Time
Norfolk Standard Time
Sakhalin Standard Time
Central Pacific Standard Time
Russia Time Zone 10
Russia Time Zone 11
New Zealand Standard Time
UTC+12
Kamchatka Standard Time
Fiji Standard Time
Chatham Islands Standard Time
UTC+13
Tonga Standard Time
Samoa Standard Time
Line Islands Standard Time

Если вы хотите быстро найти вывести все доступные часовые пояса, например, со сдвигом UTC +2, выполните команду:

tzutil /l | find /I "utc+02"

поиск временных зон по UTC смещению

Чтобы изменить текущий часовой пояс (UTC+03:00) Москва, Санкт-Петербург, Волгоград – (Russian Standard Time) на (UTC+04:00) Ижевск, Самара (Russia Time Zone 3). Для этого нужно указать идентификатор часового пояса:

tzutil /s "Russia Time Zone 3"

tzutil /s задать часовой пояс Russia Time Zone

Текущий часовой пояс хранится в реестре Windows. Вы можете проверить, что он изменился так:

reg query HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

настройки часового пояса в реестре

Чтобы отключить переход на летнее время для конкретного пояса, нужно указать идентификатор часового пояса с суффиксом _dstoff, например

tzutil /s “Pacific Standard Time_dstoff”

Эта команда изменит часовой пояс компьютера и отключите сезонный перевод часов.

Вы можете вывести полную информацию о часовом поясе и настройках сезонного перевод часов так:

w32tm /tz

Часовой пояс: Текущий:TIME_ZONE_ID_UNKNOWN Сдвиг: -180мин (UTC=LocalTime+Bias)
[Зимнее время:"RTZ 2 (зима)" Сдвиг:0мин Дата:(не указано)]
[Летнее время:"RTZ 2 (лето)" Сдвиг:-60мин Дата:(не указано)]

w32tm /tz

В Windows XP и Windows Server 2003 для смены часового пояса из командной строки нужно было использовать такие команды:

RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Russian Standard Time

Или:

Control.exe TIMEDATE.CPL,,/Z Russian Standard Time

Управление часовым поясом в Windows из PowerShell

Получить настройки текущего часового пояса можно и в консоли PowerShell. Используйте команду:

[TimeZoneInfo]::Local

Или

Get-TimeZone

Id                         : Ekaterinburg Standard Time
DisplayName                : (UTC+05:00) Екатеринбург
StandardName               : RTZ 4 (зима)
DaylightName               : RTZ 4 (лето)
BaseUtcOffset              : 05:00:00
SupportsDaylightSavingTime : True

powershell Get-TimeZone

В PowerShell вы можете просмотреть все возможные часовые пояса, доступные в Windows:

[System.TimeZoneInfo]::GetSystemTimeZones()

Или
Get-TimeZone -ListAvailable

Get-TimeZone -ListAvailable

Список часовых поясов довольно большой, чтобы найти название нужного часового пояса, воспользуйтесь фильтром:

Get-TimeZone -ListAvailable | Where-Object {$_.displayname -like "*Samara*"}

Или:

Get-TimeZone -ListAvailable | Where-Object {$_.Id -like "*Russ*"}

фильтр для часовых поясов в powershell

Можно вывести все часовые пояса в алфавитном порядке:

Get-TimeZone -ListAvailable | Select Id | Sort Id

Чтобы изменить текущий часовой пояс из PowerShell, выполните команду

Set-TimeZone -Name "Astrakhan Standard Time"

В этих примерах используется версия PowerShell 5.1, но они также работают и в более новых версиях.

Настройка часового пояса через GPO

Для централизованной настройки часового пояса на компьютерах в домене Active Directory вы можете использовать групповые политики. Готовой политики для настройки часового пояса в GPO нет. Чаще всего используются следующие два варианта настройки часового пояса через GPO: с помощью logon скрипта GPO и с помощью импорта настроек часового пояса в реестр.

Для задания часового пояса через логон скрипт GPO, можете использовать простейший PowerShell скрипт (подходит для всех версий Windows, вплоть до Windows XP и Windows Server 2003):

$tmZone = "Russian Standard Time"
$WinOSVerReg = Get-Item "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersion"
$WinOSVer = $WinOSVerReg.GetValue("CurrentVersion")
if ($WinOSVer -GE 6){
tzutil.exe /s $tmZone
} Else {
$param = "/c Start `"Change tmZone`" /MIN %WINDIR%System32Control.exe TIMEDATE.CPL,,/Z "
$param += $tmZone
$proc = [System.Diagnostics.Process]::Start( "CMD.exe", $param )
}

Другой способ настроек времени заключается в импорте содержимого ветки HKLMSYSTEMCurrentControlSetControlTimeZoneInformation с эталонного компьютера с настроенным временем на другие компьютеры через GPO. Процедура импорта ветки реестра через Group Policy Preferences описана в этой статье.

Выберите эту ветку целиком с помощью Registry Browser. В результате все настройки временной зоны будут импортированы в раздел редактора GPO (Computer Configuration -> Preferences -> Windows Settings -> Registry).

задать часовой пояс на компьютерах в домене ad через gpo

Если вы хотите использовать разные настройки временных зон для разных сайтов Acrive Directory, воспользуйтесь GPP Item Level Targeting. Привяжите настройки часового пояса к нужному сайту.

групповая политика для настройки часового пояса в зависимости от сайта active directoryad

Если вы используете RDS инфраструктуру, и пользователи и сервера RDSH находятся в разных часовых поясах, то в RDP сессий пользователя будет отображаться время. Это не удобно. Вы можете перенаправить локальный часовой пояс пользователя в RDP сессию с помощью политики Allow time zone redirection (Computer Configuration > Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Device and Resource Redirection.

Ошибка при изменении часового пояса в Windows Server 2019

В Windows Server 2019 RTM есть неприятный баг с настройкой часового пояса через графический интерфейс. Если вы попытаетесь изменить часовой пояс из панели Settings появится ошибка:

Date and time
Unable to continue. You do not have permission to perform this task. Please contact your computer administrator for help.
Продолжение невозможно. У вас нет разрешения на выполнение этой задачи. Обратитесь за помощью к сетевому администратору.

Не удается задать часовой пояс в Windows Server 2019 Продолжение невозможно. У вас нет разрешения на выполнение этой задачи

В первую очередь проверьте, что вы вошли под учетной записью с правами администратора, а в настройках локальной политики безопасности Change the time zone присутствует группа Administrators.

изменить часовой пояс ограничение в локальной политике

В качестве обходного решения в этом случае придется изменить часовой пояс из командной строки:

tzutil /l
tzutil /s "Russian Standard Time"

Или PowerShell:

GetTimeZone -ListAvailable|? DisplayName -like "*Moscow*"|Set-TimeZone

Если вы хотите изменить задать часовой пояс из графического интерфейса, можете воспользоваться старой консолью
timedate.cpl
(запустите ее из командной строки с правами администратора) или вызовите ее из Server Manager (Local Server -> Time zone).

windows server manager изменить часовой пояс

Системное администрирование, ИТ-инфраструктура, Серверное администрирование, PowerShell


Рекомендация: подборка платных и бесплатных курсов системных администраторов — https://katalog-kursov.ru/

Администраторам Linux: это статья о “Puppet” для Windows, и уже есть бета-версия DSC для Linux.
Для тех, кто в теме: не будет ничего о новинках PowerShell 5.0, только о том, что доступно из “коробки” Windows Server 2012 R2.

Преамбула

В 2013 году с выходом Windows Server 2012 R2 компания Microsoft сообщила о появлении Powershell Desired State Configuration (DSC).

К этому моменту я более или менее представлял, что делают подобные системы для Linux (например, уже упомянутый Puppet). Поэтому, предложенные возможности мне показались недостаточными для полной автоматической настройки системы. И только недавние сообщения о готовящемся Powershell 5.0 и о новых возможностях DSC побудили меня снова обратить внимание на эту технологию.

Чтобы разобраться, я выдумал задачку попроще:

  • Пусть, есть некий клиент, который хочет самостоятельно установить разработанное нами ASP.NET приложение на своем сервере. Кроме IIS, нам нужен MS SQL Server, а также требуется сделать некоторые настройки операционной системы и установить какие-нибудь важные утилиты.

Можно ли вместо инструкции по установке и настройке выдать некий конфигурационный скрипт, который сделает все что требуется на только что установленном Windows Server 2012 R2?

Для лучшего понимания этой статьи, наверное, предварительно стоит прочесть описание в блоге Microsoft — http://habrahabr.ru/company/microsoft/blog/253497/.

Исходное положение

Первоначально предполагалось, что где-то у хостинг-провайдера был заказан сервер. На нем установлен Windows Server 2012 R2 и нам только что пришло оповещение с паролем администратора и ip-адресом сервера.

А мы набираем одну единственную команду, например:

makemagic -server new.example.com

и спустя какое-то время получаем готовую к употреблению систему.

К сожалению, пока это невозможно. Но у меня есть хорошая новость — это будет уже в следующей версии Windows Server 2016. Пока я пишу эту статью, описанная ниже конфигурация (естественно, без установки обновлений) накатывается на только установленный Technical Preview 3.

Сервер

Если у вас есть образ Windows Server 2012 R2 с интегрированными обновлениями, который вы можете использовать — смело пропускайте этот раздел.

В нынешней версии (2012 R2) — проблема в цепочке обновлений:

  1. Одна из первых задач, которую я попробовал сделать — проверить/настроить часовой пояс. Для этого нужно установить последнее обновление часовых поясов.
  2. Это обновление не устанавливается, так как требует большое обновление KB2919355.
  3. Которое, в свою очередь хочет чтобы было обновление KB2975061 — это в моем случае.

Ни одно из этих обновлений недоступно для установки через Windows Update на только что установленной системе.

Поэтому есть два варианта: 1) установить все обновления через Windows Update, но это будет долго (этот процесс вполне можно выполнить позднее), или 2) поставить только пару самых необходимых.

Во втором случае делаем так: подключаемся по RDP на сервер, запускаем консоль Powershell с повышенными привилегиями и скачиваем нужные нам обновления по прямой ссылке и устанавливаем их:

Invoke-WebRequest -Uri http://download.microsoft.com/download/3/9/7/3971FEA1-C483-409E-BF13-219F8A6E907E/Windows8.1-KB2975061-x64.msu -OutFile .DownloadsWindows8.1-KB2975061-x64.msu
.DownloadsWindows8.1-KB2975061-x64.msu /quiet /norestart
Invoke-WebRequest -Uri http://download.microsoft.com/download/2/5/6/256CCCFB-5341-4A8D-A277-8A81B21A1E35/Windows8.1-KB2919355-x64.msu -OutFile .DownloadsWindows8.1-KB2919355-x64.msu
.DownloadsWindows8.1-KB2919355-x64.msu /quiet /promtrestart

После перезагрузки наш сервер будет готов к приему конфигурации.

Еще раз напоминаю, что Windows Server 2016 TP3 сразу готов к экспериментам с DSC.

Компьютер администратора

Важно: Так некоторые из вас могли пропустить предыдущий раздел: Для тестирования этого примера конфигурации любым доступным способом подключите на сервере образ MS SQL Server 2014, я выбрал Express Edition и подключил как R:.

Должен огорчить тех, кто уже обновился до Windows 10 — есть нюансы, которые не позволят использовать созданные в этой системе конфигурации. Тоже самое относится к тем, кто поставил Powershell 5.0.

Создание и применение конфигураций выполнялось на Windows 8.1. Версия Powershell:

PS C:Usersnelsh> $PSVersionTable

Name                           Value                                                                                                       
----                           -----                                                                                                       
PSVersion                      4.0                                                                                                         
WSManStackVersion              3.0                                                                                                         
SerializationVersion           1.1.0.1                                                                                                     
CLRVersion                     4.0.30319.34209                                                                                             
BuildVersion                   6.3.9600.17400                                                                                              
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                        
PSRemotingProtocolVersion      2.2                   

Но и этого еще недостаточно. На компьютере администратора необходимо включить Powershell Remoting (на сервере, после установки двух обновлений, PSRemoting уже включен). Это выполняется в консоли Powershell с повышенными привилегиями:

Enable-PSRemoting -Force

Кроме того, нужно разрешить (!) с компьютера администратора подключаться к другим компьютерам.

Set-Item WSMan:localhostClientTrustedHosts -Value *

Для удобства, я также добавил в файл hosts строку c ip-адресом созданного сервера.

<ip-address> cs1.example.com

Исходный код примера доступен на Github: https://github.com/nelsh/DSC-WS2012R2.

Первая конфигурация

Это скриншот первой версии файла DSC-W2012R2.ps1 (в репозитории, для удобства, он лежит под именем DSC-W2012R2-First.ps1).

  • 1-21 строки — собственно сама конфигурация, названная DSCW2012R2.
    • В ней на 3-7 строке мы сообщаем, что будет всего один параметр — массив имен серверов.
    • На 8 строке мы подключаем необходимый модуль PowerShell
    • 10-20 строки — список используемых ресурсов в конфигурации. В нашем случае — только один ресурс “Script”, о нем чуть ниже.
  • 23-25 строки — так как одним из шагов будет добавление пользователя, то нам потребуется создать для него пароль. Чтобы не разбираться с шифрованием — разрешим хранить пароли в конфигурации в открытом виде.
  • 27 строка — создание конфигурации. В результате выполнения этого скрипта у нас появится файл DSCW2012R2cs1.example.com.mof — что-то типа скомпилированной конфигурации.
  • 29-31 строки — запускает применение конфигурации к серверу с именем cs1.example.com. Предварительно появиться стандартное окошко для запроса имени и пароля для доступа к серверу.
  • Начиная с 33 строки — пример для одновременной настройки пары серверов.

Возвращаемся к ресурсам — Powershell DSC имеет 12 встроенных ресурсов. Большинство (а точнее 11 из 12) из них просты и понятны. Но для полноценной настройки системы их явно недостаточно. Microsoft предлагает самостоятельно создавать необходимые ресурсы. Но, честно признаюсь, даже сейчас у меня нет особого желания разбираться с этим.

Однако, при первом знакомстве я не обратил внимание на ресурс Script. Раcсмотрим пример подробнее:

        Script First {
            TestScript = { if ( "Test script content" ) { $true } else { $false } }
            SetScript = { "Set script content" }
            GetScript = { return @{ Result = "Result for GetScript"
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }

Это самый простой вариант, который ничего не делает. Как он работает:

  • Для применения конфигурации мы вызываем команду Start-DSCConfiguration (строка 29).
  • Когда в процессе обработки списка ресурсов скрипт доходит до ресурса “Script First”, то вначале вызывает код из переменной TestScript. В нашем примере он всегда возвращет $true.
  • А вот если бы он вернул $false, тогда вызвался бы код из переменной SetScript.

В этих переменных может быть любой код на Powershell — масштабы зависят только от наших фантазий. В идеальном варианте, код в TestScipt должен проверять правильность всех настроек, которые выполняются в коде SetScript.

Попробуем запустить нашу первую конфигурацию (по старой привычке я запускаю из Far Manager):

powershell.exe -ExecutionPolicy RemoteSigned .DSC-WS2012R2.ps1

Завершено без ошибок.

Чтобы не объяснять как запустить проверку с компьютера администратора, я зашел на наш сервер и выполнил пару команд.

Первая: Test-DSCConfiguration — проверяет конфигурацию. Обратите внимание на последнее сообщение (после желтого текста) — True. Т.е. конфигурация проверена и ошибок не обнаружено.

Следующая команда: Get-DSCConfiguration — сообщает подробности о текущей конфигурации. Достаточно сверить код нашего ресурса “Script First” с этим скриншотом, чтобы понять что и откуда берется.

В этот самый момент я понял, что, пожалуй, все получится.

Итак. Переходим к…

Продвинутая конфигурация

Начинаем добавлять реальные задачи в конфигурацию узлов.

Первое, в чем я хотел бы быть уверен — имя компьютера и основной dns-суффикс. Если в нашей DNS-зоне этот компьютер будет называться cs1.example.com, то имя — cs1, а dns-суффикс — example.com

Начнем с имени. Вначале я написал такой код:

       $shortName = $Server.Split(".")[0].ToLower()
        Script ComputerName {
            SetScript = { Rename-Computer -NewName $shortName }
            GetScript = { return @{ Result = $env:computerName
                GetScript = $GetScript.Trim(); SetScript = $SetScript.Trim(); TestScript = $TestScript.Trim() } }
            TestScript = { $env:computerName.ToLower() -eq $shortName }
        }

Но он не работает. SetScript, GetScript и TestScript ничего не знают о переменных вне своей зоны видимости. Передать можно только используя форматирование строк. Вот так:

       $shortName = $Server.Split(".")[0].ToLower()
        Script ComputerName {
            SetScript = ({
                Rename-Computer -NewName "{0}"
            } -f @($shortName))
            GetScript = { return @{ Result = $env:computerName
                GetScript = $GetScript.Trim(); SetScript = $SetScript.Trim(); TestScript = $TestScript.Trim()
                }
            }
            TestScript = ({ 
                $env:computerName.ToLower() -eq "{0}" 
            } -f @($shortName))
        }

С проверкой dns-суффикса все оказалось проще — это параметр в реестре, поэтому используем стандартный ресурс Registry:

       Registry PrimaryDomainSuffix {
            Key = "HKLM:SYSTEMCurrentControlSetServicesTcpipParameters"
            ValueName = "NV Domain"
            Ensure = "Present"
            ValueData = "example.com"
            ValueType = "String"
        }

Чтобы во время экспериментов обновления не ставились автоматически — настроим Windows Update. Только получать уведомления о доступных обновлениях:

       Script WindowsUpdateSettings {
            SetScript = {
                $WUSettings = (New-Object -com "Microsoft.Update.AutoUpdate").Settings
                $WUSettings.NotificationLevel=2
                $WUSettings.IncludeRecommendedUpdates=$true
                $WUSettings.Save()
            }
            GetScript = { return @{ Result = ''
                    GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = { 
                $WUSettings = (New-Object -com "Microsoft.Update.AutoUpdate").Settings; $WUSettings.NotificationLevel -eq 2 -and $WUSettings.IncludeRecommendedUpdates -eq $true
            }
        }

Получаем пару важных обновления и все-таки настраиваем часовой пояс

Следующий важный параметр — временная зона. И зачем только я предположил, что московское время подходит не всем? Видимо, для этого:

Итак, первая проблема: похоже, встроенных средств установки отдельного обновление через Windows Update не существует. К счастью, есть небольшая утилита для решения этой задачи.

Создаем каталог для утилиты:

       $abcUpdatePath = "C:UTILSABC-Update"
        $abcUpdateZip  = Join-Path $abcUpdatePath "ABC-Update.zip"
        File AbcUpdateDir {
            Ensure          = "present"
            DestinationPath = $abcUpdatePath
            Type            = "Directory"
        }

Скачиваем:

       Script AbcUpdateDownload {
            DependsOn = "[File]AbcUpdateDir"
            SetScript =  ({
                Invoke-WebRequest -Uri http://abc-deploy.com/Files/ABC-Update.zip -OutFile {0}
                } -f @($abcUpdateZip)) 
            GetScript = { 
                return @{ Result = $TestScript
                    GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                    }
                }
            TestScript = ({
                Test-Path {0} 
                } -f @($abcUpdateZip)) 
        }

Распаковываем, используя встроенный ресурс Archive:

       Archive AbcUpdateUnpack {
            Ensure = "Present"
            DependsOn = "[Script]AbcUpdateDownload"
            Path = $abcUpdateZip
            Destination = $abcUpdatePath
        }

Запускаем, и, кроме обновления часовых поясов, сразу же обновим .NET Framework до версии 4.5.2:

        Script AbcUpdateNet452Install {
            DependsOn = "[Archive]AbcUpdateUnpack"
            SetScript = { C:UTILSABC-UpdateABC-Update.exe /a:install /k:2934520 }
            GetScript = { return @{ Result = if ( Get-HotFix -Id KB2934520 -ErrorAction SilentlyContinue ) { "KB2934520: Installed" } else { "KB2934520: Not Found" }
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = { if ( Get-HotFix -Id KB2934520 -ErrorAction SilentlyContinue ) { $true } else { $false } }
        }

        Script AbcUpdateTimeZoneInstall {
            DependsOn = "[Archive]AbcUpdateUnpack"
            SetScript = { C:UTILSABC-UpdateABC-Update.exe /a:install /k:3013410 }
            GetScript = { return @{ Result = if ( Get-HotFix -Id KB3013410 -ErrorAction SilentlyContinue ) { "KB3013410: Installed" } else { "KB3013410: Not Found" }
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = { if ( Get-HotFix -Id KB3013410 -ErrorAction SilentlyContinue ) { $true } else { $false } }
        }

Наконец-то мы добрались до часовых поясов. Методом научного тыка я выбрал часовой пояс около озера Байкал.

Я нашел такой вариант: изменить часовой пояс можно только с помощью утилиты командной строки tzutil.exe, а проверить только с помощью Powershell. Но этот случай особенный — при установке используется одно значение «North Asia East Standard Time», а проверяется совершенно другое «Russia TZ 7 Standard Time»:

       Script TimeZoneSettings {
            SetScript = { tzutil.exe /s "North Asia East Standard Time" }
            GetScript = { return @{ Result = [System.TimeZone]::CurrentTimeZone.StandardName
                GetScript = $GetScript.Trim(); SetScript = $SetScript.Trim(); TestScript = $TestScript.Trim()
                }
            }
            TestScript = { [System.TimeZone]::CurrentTimeZone.StandardName -eq "Russia TZ 7 Standard Time" }
        }

Похоже, такая беда со всеми часовыми поясами России.

Компоненты Windows

С ними все очень просто и очень большое количество примеров в интернете. Вполне может сложиться впечатление, что администраторы Windows занимаются только установкой и удалением компонентов. Только два первых ресурса WindowsFeature из конфигурации:

       WindowsFeature offFSSMB1 {
            Ensure = "Absent"
            Name   = "FS-SMB1"
        }
        WindowsFeature WebAspNet45 {
            Ensure = "Present"
            Name   = "Web-Asp-Net45"
            IncludeAllSubFeature = $True
        }

В первом случае компонент удаляется, во втором ставится вместе со всеми зависимостями.

Установка пакетов

На примере Far Manager. Во-первых, пакет нужно скачать уже известным нам способом:

       Script FarDownLoad {
            SetScript = { Invoke-WebRequest -Uri http://www.farmanager.com/files/Far30b4400.x64.20150709.msi -OutFile C:UsersPublicDownloadsFar30b4400.x64.20150709.msi }
            GetScript = { return @{ Result = Test-Path C:UsersPublicDownloadsFar30b4400.x64.20150709.msi
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = { Test-Path C:UsersPublicDownloadsFar30b4400.x64.20150709.msi }
        }

В параметрах ресурса Package есть «ProductId». И вроде есть даже программа, которая анализирует msi-файл и сообщает этот самый «ProductId». Я пошел напролом: сразу же попробовал применить конфигурацию без этого параметра и тексте ошибки обнаружил «ProductId», а также правильный «Name». Описание ресурса получилось следующее:

       Package FarInstall {
            Ensure    = "Present"
            DependsOn = "[Script]FarDownLoad"
            Name      = "Far Manager 3 x64"
            ProductId = 'E5512F32-B7C1-48E3-B6AF-E5F962F99ED6'
            Path      = "C:UsersPublicDownloadsFar30b4400.x64.20150709.msi"
            Arguments = ''
            LogPath   = "C:UsersPublicDownloadsFarInstall.log"
        }

Пользователи и права

По постановке задачи, сервер находится под управлением заказчика, но тем не менее я допустил, что будет существовать возможность обновления web-приложения с помощью нашего сервера непрерывной интеграции. Мы используем Jenkins CI (кстати, все задачи в нем тоже реализованы на Powershell).

В минимальном варианте нам нужен пользователь Jenkins в группе Users и с правом записи в каталог, где размещается web-приложение. Пусть это будет c:web.

Пользователь создается таким образом:

       $JenkinsCredential = New-Object System.Management.Automation.PSCredential(`
            "Jenkins", ("Pa`$`$w0rd" | ConvertTo-SecureString -asPlainText -Force)`
        )
        User JenkinsUser {
            UserName = "Jenkins"
            Ensure = "Present"
            Password = $JenkinsCredential
            PasswordChangeNotAllowed = $true
            PasswordNeverExpires = $true
        }

Есть способ использовать в конфигурации зашифрованные пароли, но мы пойдем простым путем. В данном случае будет создан пользователь «Jenkins» с паролем «Pa$$w0rd».

Создание каталога делается уже привычным образом. А вот с назначением прав на каталоги и проверкой пришлось повозится:

       $AccessStringTmpl = "NT AUTHORITYSYSTEM Allow  FullControl`nBUILTINAdministrators Allow  FullControl`nBUILTINUsers Allow  ReadAndExecute, Synchronize`nCS1Jenkins Allow  Modify, Synchronize"
        File DirDweb {
            Ensure          = "present"
            DestinationPath = "c:web"
            Type            = "Directory"
        }
        Script AclsDweb
        {
            DependsOn = "[File]DirDweb"
            SetScript = {
                icacls c:web /reset /t /q
                takeown.exe /f c:web /r /a /d y
                icacls.exe c:web /inheritance:r
                icacls.exe c:web /grant:r "Administrators:(OI)(CI)(F)" "System:(OI)(CI)(F)" "Users:(OI)(CI)(RX)" "Jenkins:(OI)(CI)(M)" /t /q
            }
            GetScript = { return @{ Result = (get-acl c:web).AccessToString
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = ({ (get-acl c:web).AccessToString -eq "{0}"  
            } -f @($AccessStringTmpl))
        }

Проще все назначить права с помощью icacls.exe. В данном случае выполняется по порядку:

  1. в первой строке: сброс всех прав и включение наследования от родительского каталога
  2. во второй: владельцем назначается встроенная группа Administrators
  3. в третьей: отменяется наследование и удаляются все права
  4. в четвертой: назначение полных прав для Administrators и SYSTEM, чтение для пользователей и изменение для Jenkins.

Для проверки используется метод (get-acl c:web).AccessToString — полученная строка должна совпадать с переменной $AccessStringTmpl. Кстати, в примере ошибка — в строке явным образом указано имя сервера “CS1” — а должно подставляться значение $Server.Split(".")[0].ToUpper().

MS SQL

Я несколько пожалел, что решил не использовать сторонних модулей. Так как уже есть модуль для установки и настройки MS SQL Server. Но у меня есть конфигурационный файл для автоматической установки и я решил попробовать.

Во-первых, нам потребуется еще один компонент Windows — ресурс “WindowsFeature NetFrameworkCore”:

       WindowsFeature NetFrameworkCore {
            Ensure = "Present"
            Name   = "Net-Framework-Core"
            IncludeAllSubFeature = $True
        }

Во-вторых, конфигурационный файл для установщика — ресурс “Script MSSQLConfigDownLoad”:

        Script MSSQLConfigDownLoad {
            SetScript = { Invoke-WebRequest -Uri https://raw.githubusercontent.com/nelsh/DSC-WS2012R2/master/SQL2014-Setup.ini -OutFile C:UsersPublicDownloadsSQL2014-Setup.ini }
            GetScript = { return @{ Result = Test-Path C:UsersPublicDownloadsSQL2014-Setup.ini
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = { Test-Path C:UsersPublicDownloadsSQL2014-Setup.ini }
        }

В-третьих, вы не забыли подключить образ с дистрибутивом какой-нибудь редакции MS SQL Server 2014?

        Script MSSQL {
            SetScript = { r:setup.exe /configurationfile=C:UsersPublicDownloadsSQL2014-Setup.ini /SAPWD=1q@w3e }
            GetScript = { return @{ Result = if ( Get-Service -Name "MSSQLSERVER" -ErrorAction SilentlyContinue ) { "Servise MSSQLSERVER is exist" } else { "Servise MSSQLSERVER not found" }
                GetScript = $GetScript; SetScript = $SetScript; TestScript = $TestScript
                }
            }
            TestScript = { if ( Get-Service -Name "MSSQLSERVER" -ErrorAction SilentlyContinue ) { $true } else { $false } }
        }

Я воспользовался диском с Express Edition, который подключен как R:. В процессе будут установлены Database Engine плюс FullSearch, а также средства администрирования. Проверка в TestScript самая простая — есть сервис MSSQLSERVER или нет.

… И когда по списку процессов на сервере я понял, что установка запустилась — стало понятно, что эксперимент можно считать завершенным.

Дальнейшая настройка может зависеть от ситуации: если требуется срочно-срочно показать рабочее приложение, то дальше каким-то образом получаем и устанавливаем наше приложение.

Если же у нас плановая установка (без авралов), то предварительно можно настроить брандмауэр и установить служебные программы (мониторинг, резервное копирование) — у всех могут быть свои варианты. Из того, что используется у нас, наибольшую трудность может вызвать только AWStats: код в TestScript будет напоминать небольшую программу, но это тоже решаемо.

Поэтому, на этом пункте решил остановится. По-моему, получился удачный пример, который любой может адаптировать к своей ситуации.

Предварительные итоги

На мой взгляд, DSC можно брать на вооружение, не дожидаясь следующей версии Windows Server.

В доменной инфраструктуре полностью заменить групповые политики эта технология не сможет, но у нее есть определенные плюсы:

  • Может использоваться как в ручном режиме, так и в автоматическом с сервером конфигураций.
  • Может использоваться независимо от наличия Active Directory, а может и вместе с групповыми политиками.
  • Каталог с конфигурациями можно положить в систему контроля версий.
  • С выходом Powershell 5.0 мы получаем удобный способ использования дополнительных модулей — см. powershellgallery.com. Там уже есть несколько десятков модулей, созданных сообществом. Возможно, среди них уже есть такие, которыми можно заменить скрипты из моего примера.

Прошу учесть, что в примере из этой статьи возможны ошибки, а также, вероятно, есть более эффективные решения.

Последнее важное примечание: насколько я понял, вопрос с необходимой перезагрузкой в процессе настройки даже в новых версиях не имеет решения. Поэтому описанная выше конфигурация применяется за два прохода — причем и на 2012R2 и на 2016 — прерывается на установке компонентов и просит перезагрузку. После чего необходимо снова запустить применение конфигурации.

Полезные ссылки

  • Все примеры из этой статьи находятся в проекте на Github-е
    https://github.com/nelsh/DSC-WS2012R2
  • Windows PowerShell Desired State Configuration Overview
    https://technet.microsoft.com/ru-ru/library/dn249912.aspx
  • Ближайшее будущее Powershell 5.0 и DSC
    https://www.powershellgallery.com/
    http://blogs.msdn.com/b/powershell/archive/2015/09/15/updated-dsc-resource-kit-available-in-powershell-gallery.aspx
  • Remove From My Forums
  • Вопрос

  • Добрый день. Установил сервер 2012 r2 standart  триал на 180 дней.  При синхронизации времени сервер указывает время  по Лондону то есть  часовой пояс +0. Изменения руками проходят без проблем, но  при
    следующей синхронизации  часы опять синхронизируются по Лондону. В реестре NTP сервером — указан сервер microsoft. Подскажите это я что то не правильно настроил или так работает триальная версия  сервера 2012 R2?

Ответы

  • Я просил сделать следующие настройки.

    В BIOS’е установить:

    — часовой пояс UTC+0
    — время местное (которое на ваших часах)

    В операционной системе установить:

    — часовой пояс UTC+3 (Russian Standard Time)
    — время местное

    Если проблема исчезнет, то так и оставить.

    • Изменено

      15 февраля 2016 г. 9:05

    • Помечено в качестве ответа
      Petko KrushevMicrosoft contingent staff, Moderator
      2 марта 2016 г. 11:20

  • Я тут наделал несколько скриншотов BIOS’а одного из серверов, причем BIOS в Legacy Mode. Нет ли у вас на экране установки времени поля Time Format? Если есть, то выберите Local Time.

    У вас появится предупреждение — нажмите Enter

    В итоге у вас в поле Time Zone должно отобразиться Unspecified Time Zone. Тогда проблем с установкой времени в операционной системе возникнуть не должно.

Обновление часовых поясов 2014 и обновление компьютеров с ОС Windows

  • Содержание статьи
    • Windows Server 2012 R2
    • Windows 8.1
    • Windows Server 2012
    • Windows 8
    • Windows Server 2008 R2
    • Windows 7
    • Windows Embedded Standard 7
    • Windows Server 2008
    • Windows Vista
    • Windows Server 2003
    • Windows XP
    • Добавить комментарий

Ниже описаны способы обновления компьютеров под управлением Windows для корректной работы после перевода часов в октябре 2014.

С более менее современными операционными системами от Microsoft все просто — достаточно скачать нужное вам обновление и установить его. Для пользователей устаревшей Windows XP посложнее, однако и для неё ниже описан способ обновления.

Прямые ссылки для скачивания обновления KB2998527 от Microsoft для своих операционных систем:

Windows Server 2012 R2

Обновление для Windows Server 2012 R2 (Windows8.1-KB2998527-x64.msu):
http://download.microsoft.com/download/3/4/9/3494F561-7688-41F1-96C9-5C553742CCC8/Windows8.1-KB2998527-x64.msu

Windows 8.1

Обновление для Windows 8.1 (x86) (Windows8.1-KB2998527-x86.msu):
http://download.microsoft.com/download/7/2/F/72F35CAC-22C1-4A17-A988-E08297BA3E82/Windows8.1-KB2998527-x86.msu

Обновление для Windows 8.1 (x64) (Windows8.1-KB2998527-x64.msu):
http://download.microsoft.com/download/2/5/3/25367A11-3EED-467D-B2CA-7E41C52F3BF7/Windows8.1-KB2998527-x64.msu

Windows Server 2012

Обновление для Windows Server 2012 (Windows8-RT-KB2998527-x64.msu):
http://download.microsoft.com/download/0/1/4/0147ECCE-2B6F-4D5F-9CBF-AA9289DB97E8/Windows8-RT-KB2998527-x64.msu

Windows 8

Обновление для Windows 8 (x86) (Windows8-RT-KB2998527-x86.msu):
http://download.microsoft.com/download/F/E/8/FE8CAA58-4FFA-4407-9870-D4960F2F03DC/Windows8-RT-KB2998527-x86.msu

Обновление для Windows 8 (x64) (Windows8-RT-KB2998527-x64.msu):
http://download.microsoft.com/download/6/2/7/627399F2-AE5D-4E80-A261-2551F444C91C/Windows8-RT-KB2998527-x64.msu

Windows Server 2008 R2

Обновление для Windows Server 2008 R2 (Windows6.1-KB2998527-x64.msu):
http://download.microsoft.com/download/8/7/0/870DBC55-B223-4C2C-B252-05BF10F012A1/Windows6.1-KB2998527-x64.msu

Обновление для Windows Server 2008 R2 (Itanium) (Windows6.1-KB2998527-ia64.msu):
http://download.microsoft.com/download/6/4/5/6456935B-EC29-4325-A919-FDEC23D449A2/Windows6.1-KB2998527-ia64.msu

Windows 7

Обновление для Windows 7 (x86) (Windows6.1-KB2998527-x86.msu):
http://download.microsoft.com/download/2/5/5/2558564D-3E95-42A1-9CDB-F5E865544279/Windows6.1-KB2998527-x86.msu

Обновление для Windows 7 (x64) (Windows6.1-KB2998527-x64.msu):
http://download.microsoft.com/download/2/9/A/29A88150-B0F5-4607-9AF2-162D3F2262AC/Windows6.1-KB2998527-x64.msu

Windows Embedded Standard 7

Обновление для Windows Embedded Standard 7 (x86) (Windows6.1-KB2998527-x86.msu):
http://download.microsoft.com/download/C/D/B/CDB68783-3A75-463D-BBA6-435863330648/Windows6.1-KB2998527-x86.msu

Обновление для Windows Embedded Standard 7 (x64) (Windows6.1-KB2998527-x64.msu):
http://download.microsoft.com/download/8/9/B/89BA897F-A132-4DDB-93A4-F06FC597935E/Windows6.1-KB2998527-x64.msu

Windows Server 2008

Обновление для Windows Server 2008 (x64) (Windows6.0-KB2998527-x64.msu):
http://download.microsoft.com/download/0/6/D/06D45DE7-D629-49F1-AE77-3B617F1D9767/Windows6.0-KB2998527-x64.msu

Обновление для Windows Server 2008 (x86) (Windows6.0-KB2998527-x86.msu):
http://download.microsoft.com/download/8/7/F/87F7806E-1485-41A4-B40E-3608043DBC1A/Windows6.0-KB2998527-x86.msu

Обновление для Windows Server 2008 (Itanium) (Windows6.0-KB2998527-ia64.msu):
http://download.microsoft.com/download/E/7/3/E73957C1-28C4-4B15-BBBD-FEA1CB0A29FD/Windows6.0-KB2998527-ia64.msu

Windows Vista

Обновление для Windows Vista (x64) (Windows6.0-KB2998527-x64.msu):
http://download.microsoft.com/download/5/5/6/556ABD30-F381-4B53-AD63-86B29F8E8F85/Windows6.0-KB2998527-x64.msu

Обновление для Windows Vista (x86) (Windows6.0-KB2998527-x86.msu):
http://download.microsoft.com/download/6/F/C/6FC3883B-8340-414B-9CF2-D9A378DE087A/Windows6.0-KB2998527-x86.msu

Windows Server 2003

Обновление для Windows Server 2003 (x86) (WindowsServer2003-KB2998527-x86-ENU.exe):
http://download.microsoft.com/download/E/3/6/E3694C5B-D3D4-437C-9DAE-F5348622FCC1/WindowsServer2003-KB2998527-x86-ENU.exe
Обновление для Windows Server 2003 (x64) (WindowsServer2003-KB2998527-x64-ENU.exe):
http://download.microsoft.com/download/0/E/A/0EA3E204-A610-4E10-98CE-A0B3C9EE25AA/WindowsServer2003-KB2998527-x64-ENU.exe

Обновление для Windows Server 2003 (Itanium) (WindowsServer2003-KB2998527-ia64-ENU.exe):
http://download.microsoft.com/download/A/4/C/A4CE7BDD-096D-49F9-A941-B6EFFF83BC63/WindowsServer2003-KB2998527-ia64-ENU.exe

Windows XP

Так как поддержка Windows XP закончилась в апреле 2014 года, то обновления от Microsoft обошли её стороной. Похожая проблема и у пользователей Windows 10 Technical Preview — так как новая ОС находится только в стадии тестирования, и поэтому никаких обновлений часовых поясов для неё нет. Однако народные умельцы уже сделали небольшой reg файл, который обновляет информацию о часовых поясах в системе.

Скачать его можно по этой ссылке ниже, или создать самому:

Обновление часовых поясов 2014

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesBelarus Standard Time]
"MUI_Display"="@tzres.dll,-1970"
"TZI"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"Std"="Беларусь (зима)"
"MUI_Std"="@tzres.dll,-1972"
"Dlt"="Беларусь (лето)"
"MUI_Dlt"="@tzres.dll,-1971"
"Display"="(UTC+03:00) Минск"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesBelarus Standard TimeDynamic DST]
"2010"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007dc
"2012"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesEkaterinburg Standard Time]
"MUI_Display"="@tzres.dll,-1840"
"TZI"=hex:d4,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 4 (зима)"
"MUI_Std"="@tzres.dll,-1842"
"Dlt"="RTZ 4 (лето)"
"MUI_Dlt"="@tzres.dll,-1841"
"Display"="(UTC+05:00) Екатеринбург (RTZ 4)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesEkaterinburg Standard TimeDynamic DST]
"2010"=hex:d4,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:d4,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:d4,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:d4,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesKaliningrad Standard Time]
"MUI_Display"="@tzres.dll,-1820"
"TZI"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 1 (зима)"
"MUI_Std"="@tzres.dll,-1822"
"Dlt"="RTZ 1 (лето)"
"MUI_Dlt"="@tzres.dll,-1821"
"Display"="(UTC+02:00) Калининград (RTZ 1)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesKaliningrad Standard TimeDynamic DST]
"2010"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesKamchatka Standard Time]

[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesMagadan Standard Time]

[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesMagadan Standard TimeDynamic DST]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesN. Central Asia Standard Time]
"MUI_Display"="@tzres.dll,-1850"
"TZI"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 5 (зима)"
"MUI_Std"="@tzres.dll,-1852"
"Dlt"="RTZ 5 (лето)"
"MUI_Dlt"="@tzres.dll,-1851"
"Display"="(UTC+06:00) Новосибирск (RTZ 5)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesN. Central Asia Standard TimeDynamic DST]
"2010"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:98,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesNorth Asia East Standard Time]
"MUI_Display"="@tzres.dll,-1870"
"TZI"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 7 (зима)"
"MUI_Std"="@tzres.dll,-1872"
"Dlt"="RTZ 7 (лето)"
"MUI_Dlt"="@tzres.dll,-1871"
"Display"="(UTC+08:00) Иркутск (RTZ 7)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesNorth Asia East Standard TimeDynamic DST]
"2010"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesNorth Asia Standard Time]
"MUI_Display"="@tzres.dll,-1860"
"TZI"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 6 (зима)"
"MUI_Std"="@tzres.dll,-1862"
"Dlt"="RTZ 6 (лето)"
"MUI_Dlt"="@tzres.dll,-1861"
"Display"="(UTC+07:00) Красноярск (RTZ 6)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesNorth Asia Standard TimeDynamic DST]
"2010"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:5c,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesRussia Time Zone 10]
"MUI_Display"="@tzres.dll,-1910"
"TZI"=hex:6c,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"Std"="RTZ 10 (зима)"
"MUI_Std"="@tzres.dll,-1912"
"Dlt"="RTZ 10 (лето)"
"MUI_Dlt"="@tzres.dll,-1911"
"Display"="(UTC+11:00) Чокурдах (RTZ 10)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesRussia Time Zone 11]
"MUI_Display"="@tzres.dll,-1930"
"TZI"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"Std"="RTZ 11 (зима)"
"MUI_Std"="@tzres.dll,-1932"
"Dlt"="RTZ 11 (лето)"
"MUI_Dlt"="@tzres.dll,-1931"
"Display"="(UTC+12:00) Анадырь, Петропавловск-Камчатский (RTZ 11)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesRussia Time Zone 3]
"MUI_Display"="@tzres.dll,-1890"
"TZI"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"Std"="RTZ 3 (зима)"
"MUI_Std"="@tzres.dll,-1892"
"Dlt"="RTZ 3 (лето)"
"MUI_Dlt"="@tzres.dll,-1891"
"Display"="(UTC+04:00) Ижевск, Самара (RTZ 3)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesRussian Standard Time]
"MUI_Display"="@tzres.dll,-1830"
"TZI"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 2 (зима)"
"MUI_Std"="@tzres.dll,-1832"
"Dlt"="RTZ 2 (лето)"
"MUI_Dlt"="@tzres.dll,-1831"
"Display"="(UTC+03:00) Волгоград, Москва, Санкт-Петербург (RTZ 2)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesRussian Standard TimeDynamic DST]
"2010"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesVladivostok Standard Time]
"MUI_Display"="@tzres.dll,-1950"
"TZI"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 9 (зима)"
"MUI_Std"="@tzres.dll,-1952"
"Dlt"="RTZ 9 (лето)"
"MUI_Dlt"="@tzres.dll,-1951"
"Display"="(UTC+10:00) Владивосток, Магадан (RTZ 9)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesVladivostok Standard TimeDynamic DST]
"2010"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:6c,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:6c,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesYakutsk Standard Time]
"MUI_Display"="@tzres.dll,-1880"
"TZI"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,
  00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"Std"="RTZ 8 (зима)"
"MUI_Std"="@tzres.dll,-1882"
"Dlt"="RTZ 8 (лето)"
"MUI_Dlt"="@tzres.dll,-1881"
"Display"="(UTC+09:00) Якутск (RTZ 8)"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesYakutsk Standard TimeDynamic DST]
"2010"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"2011"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,
  00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007da
"LastEntry"=dword:000007df
"2012"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,
  00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:e4,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2013"=hex:a8,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

После просто запускаем двойным кликом файлик и подтверждаем, что хотим добавить его содержимое в реестр. После в системе будут доступны все новые часовые пояса.

  • on Ноя 27, 2017
  • in
    Система

Настройка времени в серверных операционных системах Windows с помощью протокола NTP является критичной для многих служб. Без правильного настроенного времени, а точнее при рассогласовании часов на сервере и рабочих станциях не могут правильно работать многие протоколы Active Directory и сервисы синхронизации. Установка и поддержка часов с помощью NTP является простой задачей, связанной иногда, однако, с некоторыми сложностями, которые мы попытаемся рассмотреть в этой статье.

Для примера будем использовать не самую свежую систему — Windows Server 2012. Она является наиболее распространенной и, в то же время, для многих других систем, включая Windows Server 2008, Windows Server 2016 применимы аналогичные команды и правила. Следует отметить, что описание касается настройки окружения с единственным главным контроллером PDC. Более сложные варианты не рассматриваются.

Сброс настроек NTP

Для того, чтобы перевести службу NTP в «дефолтное» состояние, необходимо выполнить следующие команды:

Stop-Service w32time
w32tm /unregister
w32tm /register

В данном случае они останавливают сервис, разрегистрируют сервис и регистрируют его в системе заново. Следует выполнять эти команды только в случае существенной необходимости. Как правило, нужды в них нет — NTP настраивается, если учтены другие обстоятельства системы.

Команды установки NTP в обычном случае

Для того, чтобы настроить протокол сетевого времени на контроллере Windows Server, прежде всего необходимо отключить синхронизацию посредством Hyper-V, если контроллер виртуализирован с помощью этой технологии. Для этого нужно зайти в настройки и снять галочку с пункта Time Synchronization в разделе Management -> Integration Services

Для тех, кто не использует Hyper-V, предыдущий шаг можно опустить.

Далее, запустить Power-Shell и ввести команды:

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time

На этом установка в качестве основного ntp-сервера одного из pool.ntp.org закончена.

Выбор ntp-сервера

Однако нет жесткой необходимости использовать именно этот сервер. Для тех, кто находится в интранете, для тех, у кого есть предпочтения по геолокации или другим параметрам, можно указать другой сервер. Или даже список в кавычках, разделенный пробелами:

w32tm /config /manualpeerlist:"0.de.pool.ntp.org 1.de.pool.ntp.org" /syncfromflags:MANUAL

Протокол UDP для NTP и блокировка файрволом

Протокол времени использует для своей связи порт UDP с номером 123 в стандартной конфигурации. Необходимо следить за тем, чтобы файрвол не блокировал этот порт. В случае, если блокировка происходит, в логах ntp будет масса информации о том, что соединение невозможно:

Log Name: System
Source: Microsoft-Windows-Time-Service
Event ID: 47
Level: Warning
Description: Time Provider NtpClient: No valid response has been received from manually configured peer pool.ntp.org after 8 attempts to contact it. This peer will be discarded as a time source and NtpClient will attempt to discover a new peer with this DNS name. The error was: The peer is unreachable.

Для того, чтобы убедиться, что проблема именно в этом, можно включить вывод дополнительной отладочной информации. Настраиваем логи Windows Server таким образом, чтобы в них писалась вся необходимая информация, но они не росли больше, чем 20 мегабайт:

w32tm /debug /enable /file:C:tmpntp.log /size:20971520 /entries:0-300

Следите за тем, чтобы на диске присутствовал каталог C:tmp куда будут записаны логи.

После того, как ошибка будет отловлена, вывод дополнительной отладочной информации можно будет отключить:

Блокировка ntp файрволом отлавливается по фразе в отладке:

— Logging error: NtpClient has been configured to acquire time from one or more time sources, however none of the sources are currently accessible and no attempt to contact a source will be made for 1 minutes. NTPCLIENT HAS NO SOURCE OF ACCURATE TIME.

В этом случае (да, в общем, сразу с целью проверки) необходимо проверить правило в файрволе

И, в случае необходимости, поменять правило или добавить его.

Проверка правильности работы ntp

Чтобы проверить — все ли работает правильно, можно запустить синхронизацию вручную:

Если все прошло успешно, получите сообщение:

Sending resync command to local computer
The command completed successfully.

Если есть проблемы — сообщение:

The computer did not resync because no time data was available.

Во втором случае необходимо проверить все сначала: файрвол, правильность заданных серверов (не ошиблись ли в имени). Если что — информацию о сбросе настроек мы уже приводили.

imageВ Сентябре 2014 года было выпущено обновление KB2998527 для поддержки обновлённых часовых поясов для России, которое было установлено на все поддерживаемые серверы и клиентские рабочие станции. При этом серверы System Center 2012 R2 DPM не стали исключением. В результате после 26 Октября 2014 года на некоторых серверах DPM 2012 R2 UR4 отображаемое время выполненных заданий архивирования опережало текущее время на 1 час.
Будьте в курсе актуальных новостей в мире ИТ: https://t.me/ITKBnews. Также будем рады видеть Вас участниками групп https://vk.com/blogitkb и https://www.fb.com/blog.it.kb

В примере рассматривается один часовой пояс – Москва.

imageimageimage

Как видно из скриншота, запланированные задания выполнялись на один час раньше положенного срока, т.е. архивирование виртуальных машин должно было проходить в 17:30, а выполнялось в 16:30.

Вопрос был задан на форуме по Microsoft System Center Data Protection Manager (DPM). При этом нашлось три вариантов решения. Все они могут дать положительный результат.

Рассмотрим каждый из них, предварительно убедившись в том, что защищаемые сервера (т.е. сервера с установленными агентами DPM) имеют некорректную зону в базе DPM.

Чтобы найти проблемные сервера, необходимо выполнить запрос SQL для базы DPM.

Select svr.ServerName, svr.serverid, tz.Description, tz.DaylightName, tz.DaylightBias 
from tbl_AM_ServerTimeZone tz 
join dbo.tbl_AM_Server svr 
on tz.ServerId = svr.ServerId 
order by tz.Description

В итоге получаем

image

Красным выделено то, что серверы имеют неправильную запись о временной зоне в базе данных DPM.

Вариант решения №1

Выполнить описанные действия по статье в TechNet “Изменение часового пояса сервера DPM”.

Обновление часового пояса в базе данных DPM

  1. На защищенном компьютере с помощью оснастки Установка и удаление программ удалите приложение Агент защиты Microsoft System Center Data Protection Manager.
  2. На сервере DPM в консоли администрирования DPM в области задач Управление откройте вкладку Агенты, выберите компьютер, а затем на панели Действия выберите пункт Обновить информацию. Состояние агента изменится на Ошибка.
  3. На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM.
  4. Переустановите агент защиты на компьютере.
  5. Запустите синхронизацию с проверкой согласованности для каждого защищенного тома на защищенном компьютере.

image

image

image

Если данное решение не помогает, переходим ко 2-ому и 3-ему вариантам.

При этом стоит указать, что оба варианта (2-й и 3-й) сводятся к решению переподключения агентов на сервере DPM.

Вариант решения №2

За основу взято решение сотрудника Microsoft Michael Jacquet (Senior Support Escalation Engineer) в статье “DPM Quick Fix: Tape backup jobs are not scheduled for one or more servers in a protection group” и статьи на TechNet “Изменение часового пояса файлового сервера или рабочей станции” .

Обновление часового пояса в базе данных DPM

  1. На защищенном компьютере с помощью оснастки Установка и удаление программ удалите приложение Агент защиты Microsoft System Center Data Protection Manager.
  2. На сервере DPM в консоли администрирования DPM в области задач Управление откройте вкладку Агенты, выберите компьютер, а затем на панели Действия выберите пункт Обновить информацию. Состояние агента изменится на Ошибка.
  3. На панели Подробности щелкните Удалить запись о компьютере с этого сервера DPM.
  4. Переустановите агент защиты на компьютере.
  5. Запустите синхронизацию с проверкой согласованности для каждого защищенного тома на защищенном компьютере.

При этом переустановку (удаление и установка) агентов можно автоматизировать при помощи следующих утилит:

  • psexec
  • msiexec (встроен в систему)

Пример: чтобы удалить агента DPM 2012 SP1 x64 вручную, необходимо на защищаемом сервере выполнить с повышенными правами команду (для автоматического удаления без ответов использовать )

msiexec /x {EECBB752-2C6E-45B7-9F18-2327B886309A} /passive 

Список верных GUID:

  • агент DPM 2010 x86 — {3EC7C770-9F3F-4177-A754-EBFF04A1AFF2}
  • агент DPM 2010 x64 — {5EB850FE-84F7-4856-A203-0F80BC93C66A}
  • агент DPM 2012 x86 — {1750A557-FFFB-4C12-84B1-020DD5885F00}
  • агент DPM 2012 x64 — {EECBB752-2C6E-45B7-9F18-2327B886309A}

2-ой вариант подойдет, тем, у кого один DPM сервер и небольшое количество защищаемых серверов (т.е. серверов подключенных к DPM).

Вариант решения №3

Скрипт предложил Svyatoslav Dubovik (https://social.technet.microsoft.com/Forums/ru-RU/e56ed77a-06e6-45d9-abec-d45edbbf712e/-dpm?forum=msdpmru). Это наиболее адекватный вариант по причине быстродействия и максимальной эффективности.

$logPath = "c:Scriptattach_log.csv" 
$DPMServerName = read-host "DPM Server:" 
$UserName = read-host "UserName:" 
$Pwd = read-host "Password:" -assecurestring 
$Domain = read-host "Domain:" 
$dpmServer = Connect-DPMServer $DPMServerName 
$prodServer = Get-DPMProductionServer | Where-Object {$_.ServerProtectionState -eq "HasDatasourcesProtected"} 
$array = @() 

foreach ($ps in $prodServer) { 
  $obj = New-Object psobject 
  Add-Member -InputObject $obj -MemberType noteproperty -Name "Server" -Value $ps.ServerName 
  Add-Member -InputObject $obj -MemberType noteproperty -Name "ProtectionState" -Value $ps.ServerProtectionState 

  try { 
    $dpmServer.AttachProductionServer($ps, $UserName, $Pwd, $Domain) 
    Add-Member -InputObject $obj -MemberType noteproperty -Name "Status" -Value "ReAttach" 
  } 
  catch { 
    Add-Member -InputObject $obj -MemberType noteproperty -Name "Status" -Value "Error" 
  } 

  $array += $obj 
} 
$array | Export-Csv -Path $logPath -NoTypeInformation -Delimiter ';'

Единственное, что я поправил, это строчку:

$prodServer = Get-DPMProductionServer | Where-Object {$_.ServerProtectionState -eq "HasDatasourcesProtected"}

для поиска только тех серверов, которые в данный момент имеют активные защищаемые ресурсы на DPM сервере. В оригинале были взяты все серверы:

$prodServer = Get-DPMProductionServer

После выполнения скрипта проверяем лог файл attach_log.csv.

image

Формируем удобочитаемый вид в MS Excel из данного файла.

image

image

Ставим фильтр:

image

Выбираем нужный результат:

image

В итоге получаем:

image

После выполнения скрипта в базе данных DPM получаем:

image

Сравниваем с серверами подключенными к DPM. Для этого открываем консоль DPM и переходим на закладку “Management” -> “Agents”

image

В моем случае пришлось обновить группы защиты, т.е. удалить и повторно добавить время выполнения задания, чтобы время заданий поменялось.

Можно обновить вручную или при помощи PowerShell командлета Update-DPMProtectionGroup

Результат

image

Спасибо за внимание! Надеюсь, данная статья кому-нибудь поможет! Улыбка

P.S. бонус для тех кто прочитал всю статью Улыбка

Рекомендация не ставить Update Rollup 5 DPM 2012 R2 по причине возникновения в определенных случаях ошибок на DPM сервере после его установки. К тому же процесс деинсталляции указанного UR возможен только через переустановку DPM и восстановление баз данных DPM из архива.

@ITKBnews           blog.it.kb              blogitkb

w32tm /config /syncfromflags:manual
w32tm /config /manualpeerlist:»0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1″
w32tm /config /update
w32tm /resync /rediscover

w32tm Настройка синхронизации времени через cmd

В Windows есть средство управления синхронизацией времени — w32tm.

Основные команды конфигурации w32tm

  • w32tm /register — Регистрация и включение службы со стандартными параметрами.
  • w32tm /unregister — Отключение службы и удаление параметров конфигурации.
  • w32tm /monitor — Просмотр информации по домену.
  • w32tm /resync — Команда принудительной синхронизации с заданным в конфигурации источником.
  • w32tm /config /update — Применить и сохранить конфигурацию.
  • w32tm /config /syncfromflags:domhier /update – Задаем настройку синхронизации с контроллером домена.
  • w32tm /config /syncfromflags:manual /manualpeerlist:time.windows.com – задать конкретные источники синхронизации времени по протоколу NTP.

Просмотр параметров (/query)

  • w32tm /query /computer:<target>  — Информация о стутусе синхронизации определенной станции (если имя не указано — используется локальный компьютер).
  • w32tm /query /Source – Показать источник времени.
  • w32tm /query /Configuration — Вывод всех настроек службы времени Windows.
  • w32tm /query /Peers – Показать источники времени и их состояние.
  • w32tm /query /Status – Статус службы времени.
  • w32tm /query /Verbose – Подробный вывод всей информации о работе службы.

Синхронизация через Net time

Так же можно воспользоватся вспомогательной службой net time для синхронизации времени.

  • net time /setsntp:time.itmake.org — Задаем источник синхронизации.
  • net time /querysntp — просмотр информации о заданном источнике времени.
  • net time \server.lan.local /set /y – Принудительная синхронизация с указанного источника.

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

Понравилась статья? Поделить с друзьями:
  • Изменить цвет экрана приветствия windows 10
  • Изменить цвет шрифта папок на рабочем столе windows 10
  • Изменить цвет фона рабочего стола windows 7
  • Изменить цвет подписи значков на рабочем столе windows 8
  • Изменить цвет панели задач в windows 7 программа