Powershell синхронизация времени


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

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

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

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

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

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

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

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

Get-Service W32Time | Select-Object *

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

Get-Service W32Time -RequiredServices

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

Start-Service W32Time

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

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

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

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

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

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

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

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

w32tm /tz
Get-TimeZone

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

Get-TimeZone -ListAvailable

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

Set-TimeZone -Name "Magadan Standard Time"

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

Понравилось это:

Нравится Загрузка...

Метки: Powershell, w32tm, Windows

This entry was posted on 2018/11/13 at 11:00:53 and is filed under Software. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Синхронизация времени с внешними серверами по NTP — документация Виртуальный ЦОД. Руководство пользователя

NTP (Network Time Protocol) — это сетевой протокол для синхронизации системного времени компьютера через сетевое соединение. NTP-клиент запрашивает время у общедоступного NTP-сервера, а затем использует ответ сервера для корректировки локальных часов. Когда NTP-клиент синхронизирует свои часы, используется UDP-порт 123.

В VM Tools, которые рекомендуется устанавливать на VM, есть механизм синхронизации времени с хостом гипервизора. Периодическая синхронизация VM Tools (раз в минуту) по умолчанию отключена для VM Cloud. Время синхронизируется с хостом только в следующих случаях:

  • запуск VM Tools, например, во время перезагрузки или включения VM;

  • перевод VM из состояния «Suspended»;

  • восстановление из снапшота.

Синхронизация времени, выполняемая VM Tools, не конфликтует с синхронизацией с внешними серверами, которую вы самостоятельно настраиваете в гостевой ОС VM.

  • Задачи синхронизации

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

  • NTP-серверы

Протокол NTP позволяет синхронизировать запуск и окончание процессов в сети и обеспечивает точность до наносекунд. Синхронизация по времени обеспечивает:

  • согласованную работу устройств и приложений, обрабатывающих данные в real-time;

  • корректность процедур, связанных с совершением транзакций, работой c сертификатами, работой c электронной подписью;

  • возможность расследовать внутренние инциденты и контролировать нарушения безопасности в компьютерной сети;

  • согласованность информации о времени событий в операционной системе или приложениях, доступной в логах;

  • возможность хранить точную информацию о времени, если есть такое требование.

Для работы протокола NTP требуется, чтобы был открыт порт 123/UDP. При использовании NAT порт открыт по умолчанию, но для исключения ошибок рекомендуем проверить, нет ли явных запретов на исходящие подключения по этому порту.

Настройка выполняется в гостевой ОС VM.

Служба времени W32Time синхронизирует время для всех компьютеров, управляемых доменными службами Active Directory. W32tm.exe входит в состав Windows Server 2003 и более поздних версий.

  1. Запустите cmd или PowerShell от имени администратора.

  2. Остановите службу W32Time.

    net stop w32time 
  3. Укажите NTP-серверы для синхронизации времени. В примере ниже использован NTP-сервер Cloud ntp.sbercloud.ru. Если вы хотите использовать несколько отдельных NTP-серверов, укажите их через пробел.

    w32tm /config /manualpeerlist:"ntp.sbercloud.ru" /syncfromflags:manual /update 
  4. Запустите службу.

    net start w32time 
  5. Проверьте результат.

Если после настройки системное время не синхронизируется:

  • Убедитесь, что правила Firewall разрешают исходящие подключения на порт 123 по протоколу UDP.

  • Проверьте корректность настройки, которую вы выполнили выше.

  • Убедитесь, что служба запущена.

Используйте NTP-сервер Cloud ntp.sbercloud.ru.

Примечание

NTP-сервер ntp.sbercloud.ru доступен только для клиентов Enterprise.

Также вы можете воспользоваться общедоступными серверами/пулами серверов, например ru.pool.ntp.org. При указании списка серверов можно указать как сам пул, так и отдельные сервера из него:

  • 0.ru.pool.ntp.org

  • 1.ru.pool.ntp.org

  • 2.ru.pool.ntp.org

  • 3.ru.pool.ntp.org

Была ли эта статья полезной?

Как работать с NTP через PowerShell в системах Windows синхронизация времени (одна из самых важных).

В этой статье мы рассмотрим основные аспекты работы с NTP через PowerShell в Windows Server 2012.

Как работает синхронизация времени в доменной среде?

Процесс синхронизации времени имеет следующие характеристики:

  • Ближайшие контроллеры домена устанавливают время для своих зарегистрированных пользователей.
  • Все контроллеры домена отправляют запрос контроллеру домена (DC) с ролью эмулятора основного контроллера домена.
  • Эмулятор PDC, в свою очередь, синхронизируется с более авторитетным источником времени.

На практике эмулятор PDC обычно синхронизируется с NTP-сервером организации, NTP-сервером провайдера или с внешним источником времени.

Как настроить контроллер домена с ролью эмулятора PDC

Для настройки нам нужна консоль PowerShell, работающая от имени администратора.

ШАГ 1: Определите имя эмулятора PDC — самый простой способ выполнить команду в консоли PowerShell, которую вы должны : netdom query FSMO

можно прийти в настройку.

ШАГ 2: Синхронизация PDC с внешними источниками времени:

w32tm /config /syncfromflags:manual /manualpeerlist:"nodes"

Где:

  • / syncfromflags : manual — это синхронизация с узлами из заданного вручную списка.
  • manualpeerlist: узлы — это список (DNS-адреса или IP-адреса) источников времени.

ПРИМЕЧАНИЕ: Имя каждого источника времени (если их несколько) должно быть разделено пробелом. А на фаерволе UDP трафик на порт 123 в обоих направлениях должен быть разрешен.

ШАГ 3: Проверка подлинности эмулятора PDC, установка его в качестве надежного источника времени для клиентов:

w32tm /config /reliable:yes

ШАГ 4: После внесения изменений перезапустите службу time02

Restart-Service W32Time

Или обновите конфигурацию командой:

w32tm /config/update

ПРИМЕЧАНИЕ. Если вы передали роль эмулятора PDC другому контроллеру домена, старый контроллер домена будет по-прежнему авторитетный сервер времени для всего домена, что может привести к ошибкам в журнале отладки системы. Исправьте это, выполнив команду:

w32tm /config /syncfromflags:domhier /reliable:no /update

Полезные команды для работы с NTP через Powershell

  • SpecialPollInterval: 3600 означает интервал синхронизации в секундах. Синхронизация проводится раз в сутки.
  • NtpServer указывает сервер, с которым компьютер синхронизирует время.
  • Тип: NTP обозначает тип синхронизации времени.
  • Параметр Тип может иметь следующие значения:

    • NoSync — служба времени не синхронизирована.
    • NTP — служба времени синхронизируется с серверами, указанными в параметре NtpServer.
    • NT5DS — служба времени синхронизируется внутри доменной иерархии.
    • AllSync — служба времени успешно использует все возможные способы синхронизации.
    • w32tm / монитор отображает текущую синхронизацию времени на основе иерархии домена;
    • w32tm / resync — заставить компьютер синхронизироваться с сервером времени, который он использует;
    • w32tm /unregister удаляет службу времени с компьютера;
    • w32tm /register регистрирует службу времени на компьютере;

    Чтобы настроить NTP-сервер через реестр, используйте эту тему: 

    HKLM \ System \ CurrentControlSet \ services \ W32Time \

    Как легко синхронизировать системное время с контроллером домена

    Интуитивная панель управления Action1 помогает оптимизировать рутинные задачи, значительно повышая производительность ИТ.

    Шаг 1: После входа в панель управления Action1 на панели Навигация (левый столбец) выберите Управляемые конечные точки и отметьте конечную точку, чтобы установить время удаленно.

    Шаг 2: Затем щелкните меню Дополнительные действия и выберите Выполнить Команду.

    Шаг 3: В поле введите скрипт:

    чистое время \\server_name_to_synch_with /set

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

    Шаг 5: Запланируйте действие ( Выполнить сейчас/Еще нет расписания/В определенное время/Повторить ) и Завершить .

    Рассмотрите возможность использования решения RMM Action1

    Сохранение конкурентоспособности на рынке — это всегда вызов, и громкие слова не творят чудес для оптимизации административных задач и повышения производительности ИТ. Но действия делают! Благодаря облачному решению RMM от Action1 ваш ИТ-отдел будет своевременно доставлять исправления и обновления, управлять ИТ-активами, поддерживать удаленную поддержку и выполнять множество других сложных задач.

    Прочитайте обзор нашего продукта TechRadar или станьте судьей — получите бесплатную пробную версию.

    [РЕШЕНО] Time Skew Powershell Script

    Привет всем,

    Я просмотрела множество результатов поиска Google и все же не нашла ни одного, который помог бы мне в решении проблемы, с которой я столкнулся. Для начала позвольте мне объяснить, что я пытаюсь здесь сделать, и, возможно, кто-то может присоединиться и сообщить мне, иду ли я по правильному пути. Мне нужен сценарий для чтения времени 7 DC и отправки результатов по электронной почте. У меня есть следующий скрипт, который отлично работает для отображения результатов, но я пытался как-то получить эти результаты.

    функция Get-Time {

    <#

    .СИНТАКСИС

    Получает время сервера Windows

    .ОПИСАНИЕ

    Использует WMI для получения времени удаленного сервера

    .ПАРАМЕТР ИмяСервера

    Сервер, с которого нужно получить дату и время

    .ПРИМЕР

    PS C:\> Get-Time localhost

    . ПРИМЕР

    PS C:\> Get-Time server01.domain.local -Credential (Get-Credential)

    функция Get-Time {

    <#

    .СИНТАКСИС

    Получает время сервера Windows

    .ОПИСАНИЕ

    Использует WMI для получения времени удаленного сервера

    .ПАРАМЕТР ИмяСервера

    Сервер, с которого нужно получить дату и время

    .ПРИМЕР

    PS C:\> Get-Time localhost

    .ПРИМЕР

    PS C:\> Get-Time server01.domain.local -Credential (Get-Credential)

    #>

    [Привязка команд()]

    параметр(

    [Параметр (Позиция = 0, Обязательный = $ true)]

    [ПодтвердитьНуллОрПустой()]

    [Системная.Строка]

    $имя_сервера,

    $Учетные данные

    )

    попробовать {

    Если ($Учетные данные) {

    $DT = Get-WmiObject -Class Win32_LocalTime -ComputerName $servername -Credential $Credential

    } Еще {

    $DT = Get-WmiObject -Class Win32_LocalTime -ComputerName $servername

    }

    }

    поймать {

    бросок

    }

    $Times = New-Object PSObject -Property @{

    Имя_Сервера = $DT.


    Learn more

    Только новые статьи

    Введите свой e-mail

    Видео-курс

    Blender для новичков

    Ваше имя:Ваш E-Mail: