我无法在 PowerShell 中编写一行程序(我是 Linux 用户……)。对于装有 Windows 的开发 PC/服务器,我需要它始终处于一个特定日期(2017 年 1 月 3 日)。因为它是一个 vmware vm,所以 vm-supervisor 有时会在冻结/快照等之后重新同步实际时间。
vmware Supervisor里有具体的设置,但是没有效果。
有没有办法让它检查日期是否设置在另一天,并在必要时将其设置为 2017 年 3 月 1 日?
我希望每隔一分钟左右执行一次此操作(我假设 Windows 上有一个 cron 等效程序)。
答案1
下面的操作将完成你所要求的操作:
$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 {enable|disable} 命令,位于 c:\Program Files\VMware\VMware Tools\vmtoolsd。
这应该禁用虚拟机本身的同步,而不是使用虚拟机管理程序设置。