Полный новичок в PowerShell и скриптах здесь.
Я понял, как установить дату и время через PowerShell с помощью командлета set-date.
Однако я не могу понять, как выполнить скрипт с правами администратора перед входом в Windows или во всяком случае как можно скорее в процессе загрузки.
(Мне нужно, чтобы виртуальная машина была заморожена во времени, однако кажется, что Hyper-V действительно не соблюдает настройки синхронизации времени, или у Windows есть способ обойти это. На всякий случай: да, я также отключил автоматическую синхронизацию времени в Windows и даже заблокировал time.windows.com через файл hosts на всякий случай)
Есть подсказки? Спасибо
Мне удалось установить дату при входе в систему таким образом:
schtasks /create /tn "Set Date" /tr c:\setdate.bat /sc onstart /ru SYSTEM
С помощью тривиального командного файла, который ... устанавливает дату.
Однако я нашел кое-что более интересное. Как я уже сказал, система как-то продолжала синхронизировать дату, и я не мог понять, как и почему.
Окончательное решение было:
Вы неправильно понимаете, что делает служба интеграции синхронизации времени Hyper-V и как она работает. Если включено, синхронизирует время гостя с хостом. пока гость бежит. Когда гость ушел, это не имеет отношения к гостю. При запуске гость получает время непосредственно от хоста Hyper-V, а не от службы интеграции. Если вы хотите «заморозить» гостевое время, вам нужно перевести гостя в сохраненное состояние. Когда вы восстанавливаете гостя из сохраненного состояния, самое время будет время, когда вы его сохранили.