即使用户在Windows 8.1 Professional上安装更新后login,也强制自动重启

我想要一个Windows 8.1专业版的安装程序,用户通过RDP总是运行和访问,自动安装更新,如果更新需要,也会自动重新启动,但这应该只发生在星期六晚上(任何时候系统需要运行,可供用户使用)。

我更改了以下registry设置:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

  • AUOptions = 4 (自动下载和计划安装)
  • ScheduledInstallDay = 7 (星期六)
  • ScheduledInstallTime = 0 (0点)
  • NoAutoRebootWithLoggedOnUsers = 0 (也用login的用户重启)
  • AlwaysAutoRebootAtScheduledTime = 1 (强制重启)

不幸的是,这并不总是奏效。 当我将ScheduledInstallDay设置为星期四时,它曾经工作过一次,因为我在AlwaysAutoRebootAtScheduledTime的文档中AlwaysAutoRebootAtScheduledTime

当此registry值设置为1时,您仍然通知login屏幕上即将到来的自动重新启动。 然而,在三天结束时,即使计算机被locking,15分钟计数器也开始计时。 即使计算机被locking也会重新启动。

资料来源: 如何在Windows 8和Windows Server 2012中的重要更新之后强制自动重新启动

所以我想如果我希望系统在星期六重新启动,我必须在三天之前设置预定的日子,因为重新启动延迟了三天。 但系统在星期四重新启动。 因此,我将计划的一天再次设置为星期六,但现在重新启动没有发生(我总是需要等待下一次更新,需要重新启动才能testing新的设置)。

如果安装的更新需要它,即使当时用户login,我该如何configuration系统以便在星期六晚上重新启动?

更新 :由于还没有答案,我开始相信我在这里完全错误的path。 我也很乐意指出如何做这样的事情,例如,如果有一个固定的更新时间窗口,远程访问的Windows机器如何保持最新?

这将做你想要的PowerShell脚本。

从这里下载PowerShell的function/模块https://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542

然后编辑所有用户的PowerShellconfiguration文件,以便函数自动加载。 这个链接解释了如何做到这一点http://www.gsx.com/blog/bid/81096/Enhance-your-PowerShell-experience-by-automatically-loading-scripts

然后创build一个计划任务来运行下面的PowerShell命令

 $RebootStatus = "NotSet" $RebootStatus = Get-PendingReboot | Select WindowsUpdate | Where-Object {$_.WindowsUpdate -like "True"} if ($RebootStatus -ne $null) {shutdown -r -f -t 60} 

基本上,如果返回值为false,则将$ RebootStatus设置为空,否则将其填充为一个值。 它会检查并重新启动,如果$ RebootStatus有任何其他值$ null。

对不起,如果这件事你已经知道的东西。