Sve*_*cke 9 windows-update windows-8.1
我想要一个始终运行并由用户通过 RDP 访问的 Windows 8.1 Professional 安装,以自动安装更新并在更新需要时自动重新启动,但这应该只发生在周六晚上(在任何其他时间系统需要运行和可供用户使用)。
我更改了以下注册表设置:
在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU:
AUOptions= 4(自动下载并定时安装)ScheduledInstallDay= 7(星期六)ScheduledInstallTime= 0(0点钟)NoAutoRebootWithLoggedOnUsers= 0(也用登录用户重新启动)AlwaysAutoRebootAtScheduledTime= 1(强制重启)不幸的是,这并不总是有效。当我将 设置ScheduledInstallDay为星期四时它工作了一次,因为我在文档中阅读了以下内容AlwaysAutoRebootAtScheduledTime:
当此注册表值设置为 1 时,您仍会在登录屏幕上收到即将自动重启的通知。但是,在三天期限结束时,即使计算机被锁定,15 分钟计数器也会开始。即使计算机被锁定,也会发生重新启动。
来源:如何在 Windows 8 和 Windows Server 2012 中的重要更新后强制自动重启
所以我想如果我想让系统在周六重启,我必须在这之前三天设置预定日期,因为重启延迟了3天。但是系统在星期四重新启动。因此,我再次将预定日期设置为星期六,但现在根本没有重新启动(我总是不得不等待下一次更新,这需要重新启动以测试新设置)。
如果安装的更新需要它,我如何配置系统以便它总是在周六晚上重新启动,即使用户当时登录也是如此?
更新:由于仍然没有答案,我开始相信我在这里走的是完全错误的道路。我也很乐意指导如何完成这样的事情,例如,当有固定的更新时间窗口时,您如何使远程访问的 Windows 机器始终保持最新状态?
Drifter104的答案的更新版本。
这将使用 Powershell 脚本完成您想要的操作,因为通过组策略/注册表正确配置它似乎仍然非常困难(不可能?)。
安装Test-PendingReboot Powershell 模块:
Install-Module -Name PendingReboot
然后创建计划任务来运行以下powershell命令
$RebootStatus = $null
$RebootStatus = Test-PendingReboot | Select IsRebootPending | Where-Object {$_.IsRebootPending -like "True"}
if ($RebootStatus -ne $null) {shutdown -r -f -t 60}
Run Code Online (Sandbox Code Playgroud)与之前的答案相比,我所做的更改是:
$null避免误报,以防脚本的第二行被破坏、注释掉、包含在条件条件中等。| 归档时间: |
|
| 查看次数: |
7060 次 |
| 最近记录: |