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 и более поздних версий.
Запустите cmd или PowerShell от имени администратора.
Остановите службу W32Time.
net stop w32time
Укажите NTP-серверы для синхронизации времени. В примере ниже использован NTP-сервер Cloud
ntp.sbercloud.ru
. Если вы хотите использовать несколько отдельных NTP-серверов, укажите их через пробел.w32tm /config /manualpeerlist:"ntp.sbercloud.ru" /syncfromflags:manual /update
Запустите службу.
net start w32time
Проверьте результат.
Если после настройки системное время не синхронизируется:
Убедитесь, что правила 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
Параметр Тип может иметь следующие значения:
- 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.