- Как в Powershell поменять текущее время через Set-TimeZone и Set-Date
- Get-Time Zone
- Syntax
- Description
- Examples
- Example 1: Get the current time zone
- Example 2: Get time zones that match a specified string
- Example 3: Get all available time zones
- Parameters
- Inputs
- Outputs
- Notes
- Настройка часового пояса в Windows из командной строки и PowerShell
- Право на изменение часового пояса
- Смена часового пояса в Windows 10, 8.1 и 7– утилита TZUtil
- Управление часовым поясом из консоли PowerShell
- Автоматизация смены часового пояса с помощью Powershell
- Смена часового пояса в Windows XP из командной строки
- Синхронизация времени Windows 10 — как запустить службу
- Что такое Синхронизация времени Windows 10
- Настройка синхронизации времени Windows 10 через TimeServer
- Как включить автоматическую настройку времени на Windows 10
- Через Параметры
- Через Панель управления
- Через Командную строку
- Через Службы
- Через PowerShell
- Как добавить новые сервера для синхронизации времени на Windows 10
- Что делать, если не синхронизируется время на Windows 10, выдает ошибку
- Почему время постоянно сбрасывается на Windows 10: проблемы с CMOS батарейкой
Как в Powershell поменять текущее время через Set-TimeZone и Set-Date
23 августа 2019
Для изменения текущего времени в Powershell есть несколько команд. С помощью одной можно изменить время часового пояса, а с другой задать дату и время.
Для того что бы узнать текущее время можно выполнить эту команду:
Что бы узнать часовой пояс:
Учитывая то, что часовых поясов много мы можем просмотреть все доступные пояса следующим способом:
Так как выдача командлета достаточно большая я захочу сократить поиск добавив условие. Я ищу часовой пояс, где в имени упоминается слова Mos:
Нам потребуется ID из этой выдачи. После этого, по полученному идентификатору можно установить новый часовой пояс:
Для изменения даты и времени я бы советовал использовать вариант, который рассматривался в стать по работе с датой в Powershell. Мы сначала должны получить нужную дату, а затем установить. Например сегодня 24 августа 2019 года и время 0:01, я устанавливаю эту дату таким образом:
Можно установить дату со смещением от текущего времени. То есть если у вас время спешит на 2 часа вперед, то сделайте следующее:
Другие примеры с добавлением и убавлением от даты:
Мы можем установить дату и таким образом:
Но я бы не рекомендовал, так как ошибка в точке или букве может обернуться не так как вы хотели.
Get-Time Zone
Gets the current time zone or a list of available time zones.
Syntax
Description
The Get-TimeZone cmdlet gets the current time zone or a list of available time zones.
Examples
Example 1: Get the current time zone
This command gets the current time zone.
Example 2: Get time zones that match a specified string
This command gets all time zones that match the specified wildcard.
Example 3: Get all available time zones
This command gets all available time zones.
Parameters
Specifies, as a string array, the ID or IDs of the time zones that this cmdlet gets.
Type: | String [ ] |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Indicates that this cmdlet gets all available time zones.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies, as a string array, the name or names of the time zones that this cmdlet gets.
Type: | String [ ] |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Inputs
Outputs
Notes
This cmdlet is only available on Windows platforms.
Настройка часового пояса в Windows из командной строки и PowerShell
В качестве одного из базовых параметров времени, помимо собственно, времени и даты, во всех компьютерных системах является понятие часового пояса (Time zone). Для корректного отображения времени в системе, часовой пояс должен быть установлен в соответствии с географическим расположением компьютера.
В ОС семейства Windows проще всего изменить часовой пояс непосредственно из графического интерфейса, щелкнув по значку часов в системном трее и выбрав пункт Change date and time settings (Настройка даты и времени). Далее нужно нажать на кнопку Change Time Zone (Изменить часовой пояс), выбрать из списка доступных часовых поясов подходящий и сохранить изменения.
В Windows 10 окно смены настройки часового пояса перенесено в приложение Параметры (Время и язык -> Дата и время). Вызвать его, можно щелкнув ПКМ по значку с часами и выбрав в меню Настройка времени и даты.
В Windows изменить часовой пояс можно также и из командой строки или консоли PowerShell. Конкретный способ зависит от используемой версии Windows. Рассмотрим возможные варианты.
Право на изменение часового пояса
Смена часового пояса по-умолчанию не требует от пользователя наличия административных прав (в отличии от смены времени / даты). Изменить это поведение можно с помощью локальных политики безопасности (Local Security Settings — secpol.msc). Интересующая нас настройка находится в разделе Security Settings -> Local Policy -> User Rights Assignment (Параметры безопасности -> Локальные политики -> Назначение прав пользователя). Политика называется Change the time zone (Изменение часового пояса). Как вы видите, на данный момент изменить часовой пояс на компьютере может сама система, администраторы и все рядовые пользователи. Чтобы запретить обычным пользователям самим менять часовой пояс, необходимо в этой политике удалить Users из списка учетных записей.
Смена часового пояса в Windows 10, 8.1 и 7– утилита TZUtil
Для смены часового пояса в ОС Windows 10 / 8.1 / 7, Windows Server 2016/ 2012 R2/ 2008 R2 используется специальная утилита командной строки tzutil.exe (Windows Time Zone Utility), впервые появившаяся в Windows 7 (на Vista/ Server 2008 устанавливается в виде отдельного обновления KB 2556308). Исполняемый файл утилиты хранится в каталоге %WINDIR%\System32.
Разберемся с возможностями и особенностями использования утилиты TZUtil.
Итак, запустите командную строку (cmd.exe). Чтобы узнать текущий часовой пояс и его идентификатор (TimeZoneID), выполните команду:
В данном примере Russian Standard Time это идентификатор текущего часового пояса:
Выведем список всех часовых поясов с их названием и идентификаторами так:
Если вы хотите быстро найти вывести все доступные часовые пояса, например, со сдвигом UTC +2, выполните команду:
tzutil /l | find /I «utc+02»
Изменим текущий часовой пояс (UTC+03:00) Москва, Санкт-Петербург, Волгоград – (Russian Standard Time) на (UTC+04:00) Ижевск, Самара (Russia Time Zone 3). Для этого нужно указать идентификатор часового пояса.
tzutil /s «Russia Time Zone 3»
Проверим, что пояс сменился другим способом:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Чтобы отключить переход на летнее время для конкретного пояса, нужно указать идентификатор часового пояса с суффиксом _dstoff, например
tzutil /s “Pacific Standard Time_dstoff”
После выполнения данной команды вы измените часовой пояс компьютер и отключите сезонный перевод часов.
Также вы можете вывести информацию о часовом поясе и настройках сезонного перевод часов так:
Часовой пояс: Текущий:TIME_ZONE_ID_UNKNOWN Сдвиг: -180мин (UTC=LocalTime+Bias)
[Зимнее время:»RTZ 2 (зима)» Сдвиг:0мин Дата:(не указано)]
[Летнее время:»RTZ 2 (лето)» Сдвиг:-60мин Дата:(не указано)]
Управление часовым поясом из консоли PowerShell
Получить настройки текущего часового пояса можно и из консоли PowerShell, выполните команду
Id : Ekaterinburg Standard Time
DisplayName : (UTC+05:00) Екатеринбург
StandardName : RTZ 4 (зима)
DaylightName : RTZ 4 (лето)
BaseUtcOffset : 05:00:00
SupportsDaylightSavingTime : True
Чтобы посмотреть все возможные часовые пояса, доступные в Windows можно использовать команду Powershell:
[System.TimeZoneInfo]::GetSystemTimeZones()
Или
Get-TimeZone -ListAvailable
Для смены часового пояса из PowerShell, выполните команду:
Set-TimeZone -Name «Astrakhan Standard Time»
Автоматизация смены часового пояса с помощью Powershell
Рассмотрим универсальный Powershell скрипт, который позволяет изменить часовой пояс на любом компьютере (скрипт предполагает, что в вашей сети до сих пор присутствуют компьютеры с Windows XP / Windows Server 2003). Этот скрипт можно назначить через групповые политики на все компьютеры домена / определенные организационные контейнеры (OU). Скрипт определяет версию ОС и, если это Windows Vista или выше, для смены часового пояса используется команда tzutil.exe, в противном случае – используется вариант смены пояса через RunDLL32.exe для Windows XP.
$tmZone = «Russian Standard Time»
$WinOSVerReg = Get-Item «HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion»
$WinOSVer = $WinOSVerReg.GetValue(«CurrentVersion»)
if ($WinOSVer -GE 6)<
tzutil.exe /s $tmZone
> Else <
$param = «/c Start `»Change tmZone`» /MIN %WINDIR%\System32\Control.exe TIMEDATE.CPL,,/Z «
$param += $tmZone
$proc = [System.Diagnostics.Process]::Start( «CMD.exe», $param )
>
Смена часового пояса в Windows XP из командной строки
В Windows информация о значении текущей часовой зоны хранится в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.
В нашем случае, например, видно, что в данный момент используется часовая зона — Ekaterinburg Standard Time.
Эту же информацию можно получить таким запросом:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Список доступных часовых поясов в Windows XP / Windows Server 2003 хранится в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
Чтобы изменить текущий часовой пояс на московский (GMT+03:00 -Moscow, St. Petersburg, Volgograd), воспользуемся командой:
RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Russian Standard Time
Либо:
Control.exe TIMEDATE.CPL,,/Z Russian Standard Time
Проверим, что часовой пояс сменился:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Синхронизация времени Windows 10 — как запустить службу
В операционной системе Виндовс 10 можно самостоятельно изменить отображаемое системное время или задать его синхронизацию с серверами в глобальной сети. Это позволит часам всегда показывать правильную дату, но только при соединении с интернетом. Если его не будет, то выведется ошибка. Иногда может случиться, что не синхронизируется время Windows 10 и по другим причинам. О том, что собой предоставляет синхронизация, как ее настроить и какие проблемы в процессе этого могут возникнуть, – в этом материале.
Что такое Синхронизация времени Windows 10
Синхронизация временных конфигураций в операционной системе Виндовс – это специальная система, которая в реальном времени проводит мониторинг показателей времени с серверов в глобальной сети, которые предоставляют эти данные на основе часового пояса человека.
Выбор сервера для обновления
Каждый ПК, на котором запущена Служба времени, использует ее для отображения наиболее точных значений. Обычно данные приходят от серверов Майкрософт, но человек может и самостоятельно выбрать назначенный источник получения параметров.
Архитектурно эта служба в Виндовс 10 состоит из нескольких модулей:
- Диспетчера служб,
- Диспетчера службы времени,
- Правил работы с часами,
- Поставщика времени.
Все перечисленные данные нужны для того, чтобы запускать процессы передачи и синхронизации данных, получаемых от серверов-поставщиков.
Важно! Обычно синхронизация осуществляется через сервер time.windows.com, но также можно выбрать и других поставщиков: time.nist.gov, time-nv.nist.gov, time-a.nist.gov и time-b.nist.gov.
Настройка синхронизации времени Windows 10 через TimeServer
На сегодняшний день существует большое количество серверов, работающих по протоколу NTP. Они нужны для того чтобы синхронизовать временные данные с компьютером. Один из самых популярных на территории России и других стран NTP-сервер – TimeServer.
Основными преимуществами его использования являются:
- Наличие функционала по синхронизации данных с любой страной и городом.
- Практически полное отсутствие погрешностей, так как мощности TimeServer сами синхронизируются с атомными эталонными часами.
- Высокая скорость обработки информации вне зависимости от количества одновременно подключенных к серверам персональных компьютеров (клиентов).
Ниже приведена пошаговая инструкция по настройке синхронизации системного времени с NTP серверами ТаймСервер:
- Перейти в меню «Пуск» и нажать на значок, который похож на шестеренку. Это иконка приложения «Параметры». Перейти в них можно и нажав на сочетание клавиш Win + I.
- Найти раздел «Время и язык» и кликнуть по нему.
- Нажать слева на подраздел «Регион и язык», выбрав ссылку «Дополнительные параметры даты и времени, региональные параметры».
- Перейти по ссылке «Установка времени и даты» в разделе «Дата и время».
- Войти во вкладку «Время по интернету» и нажать на одну единственную кнопку «Изменение параметров».
- Установить соответствующую синхронизации галочку, ввести в поле адрес сервера «timeserver.ru» без кавычек и нажать на «Обновить».
Если все прошло успешно, то система выведет уведомление об успешном подключении.
Быстрый переход к настройкам
Как включить автоматическую настройку времени на Windows 10
Как синхронизировать время в Windows 10 на примере ТаймСервер уже понятно, но попасть в окно конфигураций можно и другими путями. Ниже будет более подробно рассказано про вход в это диалоговое окно.
Через Параметры
Тут все понятно, так как эти действия были подробно описаны в предыдущей пошаговой инструкции. Можно кратко указать их еще раз:
- Перейти в меню «Пуск» и нажать на значок, который похож на шестеренку. Это иконка приложения «Параметры». Перейти в них можно и нажав на сочетание клавиш Win + I.
- Найти раздел настройки временных и языковых и кликнуть по нему.
- Нажать слева на подраздел «Регион и язык», выбрав ссылку «Дополнительные параметры даты и времени, региональные параметры».
- Перейти по ссылке «Установка времени и даты» в разделе «Дата и время».
- Войти во вкладку «Время по интернету» и нажать на одну единственную кнопку «Изменение параметров».
- Указать нужный сервер для самосинхронизации ПК и выйти из окна настроек.
Важно! В операционной системе Виндовс 10 доступно несколько серверов для координации временных параметров. Один из них – стандартный центр Майкрософт, который и выводится для подключения автоматически.
Через Панель управления
Аналогичные действия можно выполнить и через «Панель управления»:
- Переходят в меню «Пуск», как и в предыдущем случае.
- Вводят в поисковую строку «Панель управления» и выбирают соответствующий пункт.
- Устанавливают режим просмотра на «Крупные значки» и выбирают раздел, связанный с временными данными и датой.
- Выбирают соответствующий подраздел внутри раздела.
- Выполняют те же самые шаги, что и в предыдущей инструкции (переход во вкладку и установку центра обновления данных).
Через Командную строку
Для любителей командной строки есть свой метод:
- Открывают меню «Пуск» и находят там консоль, запустив ее.
- Вводят команду time чч:мм, где чч – часы, а мм – минуты.
- Выполняют инструкцию и проверяют, изменились ли системные параметры.
Через Службы
Если «Служба времени» активирована, то в соответствующем окне «Службы», которое можно найти в меню «Пуск», прописав название утилиты, можно будет обнаружить строчку «W32Time». Активировать же обновление параметров можно, просто нажав по ней ПКМ и выбрав пункт «Включить»
Через PowerShell
PowerShell является более мощной оболочной команд, чем консоль, поэтому многие выбирают на конфигурирования ПК ее. Чтобы обновить параметры необходимо:
- Запускают PowerShell через меню «Пуск» от имени администратора.
- Вводят команду «Start-Service W32Time» для запуска временной службы.
- Обновляют показатели командой «w32tm /resync /force». Данные будут браться с центра time.windows.com.
Изменение настроек в PowerShell
Как добавить новые сервера для синхронизации времени на Windows 10
Если по тем или иным причинам человек не хочет пользоваться стандартными центрами обновления, то он может спокойно указать любой доступный NTP домен. Для этого достаточно перейти в окно конфигураций обновления по интернету любым способом, описанным выше, и вписать в поле свой адрес сервера и нажать на кнопку «Обновить».
Что делать, если не синхронизируется время на Windows 10, выдает ошибку
Если по каким-то причинам при попытке обновления выводится ошибка синхронизации времени Windows 10, то можно попытаться выполнить процедуру вручную. Для этого переходят в командную строку и поочередно вводят команды: «net stop w32time», «w32tm /unregister», «w32tm /register», «net start w32time». После этого желательно перезагрузить свой персональный компьютер или ноутбук и проверить параметры.
Почему время постоянно сбрасывается на Windows 10: проблемы с CMOS батарейкой
Иногда сброс временных параметров осуществляется из-за попадания в память вредоносной программы. Следует просканировать ПК антивирусом и удалить все подозрительные объекты автоматического запуска, загрузки и зараженные файлы.
Также часто сброс происходит из-за неисправности CMOS батарейки, установленной в материнской плате и выполняющей расчет временных параметров даже тогда, когда компьютер полностью отключен от сети. Всему виной выходит из строя этого элемента. Для решения проблемы достаточно купить новую батарейку.
Батарейка на материнской плате
В заключение можно сказать, что с поиском и настройкой серверов для обновления временных параметров справится любой человек. Достаточно следовать пошаговым инструкциям, приведенным ниже.