PowerShell-Script для установки даты Windows

401
philipp

Я не могу запрограммировать одну строку в PowerShell (я пользователь Linux ...). Для ПК / сервера для разработчиков с Windows на нем мне нужно, чтобы он всегда был на одну конкретную дату (1.3.2017). Поскольку это vmware vm, vm-supervisor иногда повторно синхронизирует реальное время после замораживания / создания снимков и т. Д.

В супервизоре vmware есть определенные настройки, но они не действуют.

Есть ли способ заставить его проверить, установлена ​​ли дата в другой день и установить его на 1.3.2017, если необходимо?

Я хотел бы делать это каждую минуту или около того (я предполагаю, что есть cron-эквивалент на окнах).

-1

1 ответ на вопрос

-1
CraftyB

Ниже будет делать то, что вы просите:

$Date_To_Set = get-date -day 01 -month 03 -year 2017 if ((Get-Date).date -ne $Date_To_Set.Date){ $Date_To_Set | Set-Date } 

Планировщик задач в Windows является эквивалентом cron.

Поскольку я не знаю ваш регион, вам, возможно, придется поменять местами день и месяц.

РЕДАКТИРОВАТЬ: дополнительная информация ниже, и изменили скрипт с предложением @lotpings в комментариях ниже.

Может также стоит попробовать это:

Запустите команду vmtoolsd.exe timesync из гостевой операционной системы, расположенную по адресу c: \ Program Files \ VMware \ VMware Tools \ vmtoolsd.

Это должно отключить синхронизацию самой виртуальной машины, а не использовать настройки гипервизора.

Найдено из этого источника ( https://kb.vmware.com/s/article/1318 )

Чтобы удалить часть `HHmmss`, заключите дату и время в скобки и добавьте () .Date. -> `$ Date_To_Set = (Get-Date -Day 01 -Month 03 -Year 2017) .Date` 2-я строка ->` if ((Get-Date) .Date -ne $ Date_To_Set) {$ Date_To_Set | Set-Date} `Порядок представления элементов даты не имеет значения для типа datetime. LotPings 6 лет назад 1
Большое спасибо! Оно работает! Есть ли способ сохранить время? philipp 6 лет назад 0
Скрипт был обновлен, чтобы сохранить время по запросу. CraftyB 6 лет назад 0