我有一个Windows盒子,我想远程pipe理。 当我今天早上login时,开始菜单显示一个! closuresbutton旁边,通知我有安装更新。 但它给我安装更新的唯一select是closures。 有没有办法告诉它“安装更新并重新启动”?
是。 您可以安装所有可用的更新程序 – 通过控制面板中的Windows Update或系统托盘中靠近时钟的黄色WU屏蔽。 然后,完成后,可以从“开始”菜单重新启动(或从命令行调用shutdown / r)。
通过编写自己的代码(不仅仅是一个简单的脚本),或者使用来自MS或第三方的免费或商业的附加工具,唯一的其他方法就是自动化。
在重新启动/closures期间安装更新有一些好处:
安装不会减慢,或被其他正在运行的软件AVP等篡改。
没有用户界面来处理,点击通过等等。它通过更快。 完成后,如果重新启动,计算机已准备就绪。
不幸的是,似乎没有办法与微软提供的工具。 我使用这个免费的工具 ,将为你做。 我使用下列参数创build了一个快捷方式,并将其放入“开始”button菜单中:
ShutdownWithUpdates /r /f
从我看到它也可以重新启动并安装在远程工作站上的更新在活动目录设置。
没有办法手动启动“安装更新和重新启动”。 您可以设置安装更新的时间,然后通过自动更新(或Windows更新)控制面板,直接通过registry或通过组策略指定机器可以在自动更新后重新启动:
http://support.microsoft.com/kb/328010
但是,只要单击“安装更新和重新启动”选项,就没有。
这在“安装并重新启动不安装和closures”Googlesearch中显示高。 因此,我想我应该添加一个解决scheme,我写了这个确切的恼人的问题(人们告诉我,Win10默认情况下,但我不在Win10上)。
这工作使用两个batch file。 第一个叫做“rebootAfterUpdates.bat”
@echo OFF @setlocal ENABLEEXTENSIONS @set REBOOT_KEY="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" @SET REGDWORD=REG_DWORD @SET VALUEVAL=0x1 @REM skip=4 may be required on some versions of Windows @FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`reg query %REBOOT_KEY% /s 2^>nul`) DO ( @IF %%B EQU %REGDWORD% ( @IF %%C EQU %VALUEVAL% ( call :REBOOT ) ) ) :NOREBOOT @Echo No reboot required exit /b 36877 REM 36877 is 0x900D (ie Good, no reboot required) :REBOOT @ECHO Here We REBOOT SHUTDOWN -r -f -t 10 exit /b 3059719 REM 3059719 is 0x2EB007 (ie REBOOT was triggered)
第二个叫做“scheduleRebootAfterUpdates.bat”:
@schtasks /query /TN RebootAfterUpdates > doh @findstr /B /I "RebootAfterUpdates" doh >nul @if %errorlevel%==0 goto :update @goto :create :update @del doh @SCHTASKS /Change /TN RebootAfterUpdates /SD %DATE% @echo Task updated to execute today @goto :exitBat :create @del doh @SCHTASKS /Create /SC ONCE /TN RebootAfterUpdates /TR "C:\tmp\Scripts\rebootAfterUpdates.bat" /ST 23:55 /sd %DATE% /ru SYSTEM /f @echo Task created. Set the "Wake to Execute Flag" through Task Scheduler GUI :exitBat @exit /b
假定这两个文件都位于C:\ tmp \ Scripts \当Windows要求您执行“安装更新”时,让它开始安装更新。 在安装更新时,运行“scheduleRebootAfterUpdates.bat”。
操作背景:
如果更新需要重新启动,则某些registry项(在WindowsUpdateregistry项下)的值设置为0x1。
我们检查这些键是否存在于第一个bat文件中。 如果他们这样做,马上重新启动。
通常情况下,我会在下class时触发更新(大约在午夜前4-5小时)。
第二只蝙蝠创build一个计划任务(或者更新一个现有任务在午夜前5分钟运行),并且这个计划任务执行第一只蝙蝠。
所以…虽然不是最优雅的解决scheme,但分两个步骤(1.触发“安装更新”和2.运行第二个bat文件),假设安装更新成功,您的计算机将在午夜左右重新启动。
另外,你可以在任务计划器GUI中设置“唤醒机器执行任务”,以及检查执行返回代码,看看上次发生了什么。
PStestingWin7的64位。
我看到这是一个老问题,但现在可以安装更新,然后使用Powershell重新启动。 具体而言,您需要下载并安装Windows Update PowerShell模块 。 然后,您可以运行命令Get-WUInstall -AcceptAll -AutoReboot
(还有其他开关和参数来控制安装的更新)。 这将导致Windows下载更新,安装它们,然后在完成时重新启动。 在我看来,这对于服务器来说很好,因为你可以运行一个命令然后离开。