web-dev-qa-db-ja.com

Microsoft Windows-アップデートのインストールと再起動(インストールとシャットダウンの代わり)

リモートで管理したいWindowsボックスがあります。今朝ログインすると、スタートメニューに! [シャットダウン]ボタンの横に、インストールする更新があることを通知します。しかし、アップデートをインストールするための唯一のオプションは、シャットダウンすることです。 「アップデートをインストールして再起動する」ように指示する方法はありませんか?

28
CoolUserName

はい。利用可能なすべてのアップデートをインストールできます-コントロールパネルのWindows Updateか、時計の近くにあるシステムトレイの黄色のWUシールド)を使用します。これが完了すると、スタートメニューから再起動します(またはコマンドラインからshutdown/rを呼び出します)。

すべてを1つのステップで自動化する他の唯一の方法は、独自のコード(単純なスクリプトだけでなく)を作成するか、MSまたはサードパーティの無料または商用のアドオンツールを使用することです。

15
mfinni

再起動/シャットダウン中にアップデートをインストールすることには、いくつかの利点があります。

  • インストールが遅くなったり、他の実行中のソフトウェア、AVPなどによって改ざんされたりしない。

  • 処理やクリックスルーなどのUIはありません。より高速に処理されます。完了したら、再起動した場合、コンピューターを使用する準備が整います。

残念ながら、Microsoftが提供するツールでそれを行う方法はないようです。私は この無料のユーティリティ を使用します。次のパラメーターでショートカットを作成し、それをスタートボタンメニューに配置しました。

ShutdownWithUpdates /r /f

私が見るところから、Active Directoryセットアップでリモートワークステーションに更新を再起動してインストールすることもできます。

詳細はこちら

10
ahmd0

これは古い質問ですが、アップデートをインストールしてから、Powershellを使用して再起動することができます。具体的には、 Windows Update PowerShell Module をダウンロードしてインストールする必要があります。次に、コマンドGet-WUInstall -AcceptAll -AutoReboot(インストールする更新プログラムを制御する他のスイッチと引数があります)。これにより、Windowsは更新をダウンロードしてインストールし、終了したら再起動します。私の意見では、これはサーバーに最適です。1つのコマンドを実行してから離れることができるからです。

8
Charles Burge

これは、「インストールとシャットダウンではなくインストールと再起動」のGoogle検索で上位に表示されます。したがって、私は私がこの正確な迷惑な問題のために書いてしまう解決策を追加する必要があると考えました(人々は、Win10にはデフォルトでこれがあるが、私はWin10ではないと言っています)。

これは、2つのバッチファイルを使用して機能します。最初のものは「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 (i.e. Good, no reboot required)
:REBOOT
@ECHO Here We REBOOT
SHUTDOWN -r -f -t 10
exit /b 3059719
REM 3059719 is 0x2EB007 (i.e. REBOOT was triggered)

2つ目は「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」を実行します。

操作の背景:

更新で再起動が必要な場合、一部のレジストリキー(WindowsUpdate regキーの下)に値0x1が設定されています。

これらのキーが最初のbatファイルに存在するかどうかを確認します。その場合は、すぐに再起動してください。

通常、私は仕事を辞めようとしているときに(そして真夜中の4〜5時間前に)更新をトリガーします。

2番目のバットはスケジュールされたタスクを作成し(または既存のタスクを更新して午前0時の5分前に実行し)、このスケジュールされたタスクが最初のバットを実行します。

したがって、最も洗練された解決策ではありませんが、2つのステップ(1.「更新のインストール」のトリガーと2番目のbatファイルの実行)で、更新のインストールが成功した場合、マシンは真夜中に再起動します。

さらに、タスクスケジューラGUIから「ウェイクマシンがタスクを実行する」を設定し、実行のリターンコードをチェックして前回何が起こったかを確認できます。

追伸Win7 64ビットでテスト済み。

2
Abhijit Karnik

「アップデートのインストールと再起動」を手動で開始する方法はありません。更新をインストールする時間を設定し、自動更新(またはWindows Update)コントロールパネルを介して、レジストリを介して、またはグループポリシーを介して、自動更新後にマシンを再起動できるように指定できます。

http://support.Microsoft.com/kb/32801

しかし、ワンクリックの「アップデートのインストールと再起動」オプションに関しては、何もありません。

2
Glenn Sullivan