过去几周我一直在努力解决这个问题,我希望有人能给出可行的答案。
在我的工作中,我们使用 VMWare,并且我使用 Powershell 构建了 Windows Server 2012R2 的自动部署,效果非常好。
我的大多数脚本都在虚拟机本身上执行,其中一个功能是配置 Windows 更新。我找到了用于设置更新的注册表项,Powershell 正在将它们添加到注册表中。主要问题是,这些设置未由服务器应用。其中一个设置是时间和日期。
经过几天的充分研究,我发现有一个名为 Maintenance Configurator 的计划任务。我找到了一种禁用它的方法,但这没有用(使用 psexec)。我的更新仍然每天凌晨 2 点执行。
然后我看到了具有该设置的计划任务。我将时间更改为我想要的时间窗口,并且它在那个时间执行,但后来它又变回了凌晨 2 点。我在操作中心看到设置仍然在凌晨 2 点,尽管我已经手动更改了计划任务
我如何通过 Powershell 更改这一切?我不喜欢在凌晨 2 点安装更新,也不喜欢无法在任何地方更改它。
希望有人知道如何解决
祝好,戴夫
答案1
我采用了不同的方法,但我认为我解决了您遇到的相同问题。我使用了管理服务器(但可能是您的工作站),并创建了一个包含我所有服务器及其更新时间的 csv。然后您可以在管理服务器上运行计划任务,从此处调用invoke-wuinstallWindows 更新模块对于 csv 中的每个服务器。
我必须修改invoke-wuinstall来接受每个服务器的替代凭证,但希望您不需要这样做。
我知道您正在尝试在设置时执行此操作,但我建议的方法使将来调整时间更加容易。如果需要在设置时进行配置,您可以修改方法以将 Windows 更新模块复制到每台计算机,然后在该计算机上设置计划任务以调用脚本。