Обновление времени в Windows из Powershell

ps_logo

Точность системного времени очень важная вещь. Из-за неправильно выставленного времени может произойти множество ситуаций, которые приведут к неопределённым последствиям. Те кто запускал GNU/Linux в Live режиме могли обратить внимание на системное время Windows, после завершения работы с Linux оно отставало. Связано это с особенностью работы операционных систем с системным временем. Более подробно можно почитать здесь.

Так как целью данной статьи не является рассмотрение ситуации возникновения рассинхрона времени, более на этом останавливаться не будем. Всех любопытных прошу под кат.

Итак, для начала необходимо проверить статус службы W32Time. По умолчанию данная служба остановлена на Windows 10 Pro. Powershell должен быть запущен с правами администратора!

Get-Service -Name W32Time | Format-Wide -Property Status -Column 1

Выводом этой команды скорее всего станет строка: Stopped.

powershell_service_status

Статус сервиса

Более подробную информацию о сервисе можно узнать выполнив команду:

Get-Service W32Time | Select-Object *

Получить список требуемых служб:

Get-Service W32Time -RequiredServices

Теперь, когда вы убедились, что служба остановлена её необходимо запустить. Выполните следующую команду:

Start-Service W32Time

Обращаю ваше внимание, если powershell не был запущен с правами администратора, то при выполнении команды запуска службы вы получите ошибку.

powershell_start_service_error

Ошибка запуска службы

Никакого вывода о состоянии службы после окончания выполнения команды не будет. Чтобы проверить статус службы повторно выполните команду для проверки статуса службы приведённую выше.

Теперь, наконец-то, можно приступить к синхронизации времени. Выполним следующую команду для обновления времени:

w32tm /resync /force

По умолчанию время будет браться с ntp-сервера time.windows.com. Если вам необходимо изменить его на другой ntp-сервер, то выполните:

w32tm /config /syncfromflags:manual /manualpeerlist:"0.ru.pool.ntp.org"
w32tm /config /reliable:yes

Перезапустите службу w32time:

Restart-Service W32Time

Проверить, что ntp-сервер изменился:

w32tm /query /configuration

old_ntp_server

До применённых изменений

new_ntp_server

После применённых изменений

Похожим образом можно изменить временную зону. Посмотреть свою временную зону:

w32tm /tz
Get-TimeZone

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

Get-TimeZone -ListAvailable

Изменить временную зону:

Set-TimeZone -Name "Magadan Standard Time"

Справка по w32tm
Справка по Set-TimeZone
Справка по Get-TimeZone

Реклама

Метки: , ,

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.