Windows 10 バージョン1607 で更新プログラム適用後の自動再起動が実施されない


みなさま、こんにちは。WSUS サポート チームです。

今日は Windows 10 バージョン1607 で確認されている、更新プログラムの自動インストール後に自動再起動が実施されない問題について、ご紹介いたします。

この問題は、下記の 2 つのグループ ポリシーが両方共に設定されている仮想環境で多くの発生報告があります。本問題が発生した場合には、ユーザーがログオフしている場合でも更新プログラム適用後の自動での再起動が実施されません。

——————————————————————————————-
[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows Update]
1. [スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない]
2. [自動更新を構成する] を ”有効”、オプションにて [4 – 自動ダウンロードしインストール日時を指定]
——————————————————————————————-

本問題に関する修正については、現在開発部門で検討中ですが、現在もし問題が発生した場合には、下記の対処方法にて、事象を回避することをご検討ください。

- 更新プログラムの適用後に、端末の再起動を自動で実施する。
- タスク スケジューラー等から自動的に再起動を実施する

また、タスク スケジューラーから再起動を実施する場合には、スクリプトを作り込むことで、特定の条件の場合にのみ再起動をさせることも可能です。例えば添付の Powershell スクリプトでは、「ユーザーがログオフ」しており、「更新プログラム適用後の再起動待ち状態」にのみ再起動を実施することが出来ます。

なお、本問題の修正については開発部門から進展が得られ次第、本ブログを更新する予定です。
ご不便をおかけしますが、何卒ご了承賜りますようお願い申し上げます。

 

※ 注意
Windows 10 では更新プログラム適用後の再起動は、ユーザーのログオン有無のみが、再起動の判断基準ではなく、 OS の電源管理システムと連携し、システムがアイドル状態となり、 再起動が実施可能と判断された場合にのみ、再起動される動作となります。

このため、ユーザーがログオフしている時に再起動が行われなかったからといって、本事象に合致しているとは限りませんのでご注意ください。
本事象が発生した場合には、継続して自動再起動が全く行われません。

 

※ 補足
厳密に本事象が発生しているかどうか確認をするためには、下記の API を用いて、ユーザーのセッション情報を取得し、ユーザーがログオフしている際に"WTSConnected" 状態のセッションが残されているか、確認する必要があります。
ユーザーがログオフしている際に "WTSConnected" 状態のセッションが残っている場合には、本事象が発生しております。

- WTSQuerySessionInformation function
https://msdn.microsoft.com/en-us/library/aa383838(v=vs.85).aspx

事象に合致しているか厳密に判定を行うためには、例えば上記の API の結果を出力する添付のサンプル コードをコンパイルして作成したプログラムとタスク スケジューラの機能を組み合わせることで、下記のようなテストを行うことで判別が可能です。

- テスト手順
~~~~~~~~~
サンプル コードをコンパイルしたプログラム SessionTest.exe とタスク スケジューラーを利用して、下記の手順を実施します。

- 手順
1. 試験端末にログインします。

2. スタート メニューに "タスク スケジューラ" と入力し、
タスク スケジューラを起動します。

3. 下記の処理ような処理を実行するタスクを新規作成します。
必要に応じて "SessionTest.exe" を保存したパスおよび
結果の出力を行うパス (C:\Users\Public\test.txt) を変更してください。

cmd /c "C:\Users\Public\SessionTest.exe C:\Users\Public\test.txt"

4. [トリガー] タブを選択し、タスクが実行される時間を
3 ~ 5 分後程度に設定し、[OK] をクリックします。

5. タスクが動作することを確認するために、保存したタスクを
[右クリック] - [実行する] を選択します。

6. 対象のフォルダ パス (既定の場合 C:\Users\Public\test.txt) を確認し
Txt ファイルの中に、下記のような出力が行われていることを確認し、
ファイルを一旦削除します。

- 出力例
WinStationName:Services, SessionId:0, State:WTSDisconnected
WinStationName:Console, SessionId:1, State:WTSActive

7.端末よりログアウトし、設定したタスクが実行されるまで待機します。

8. タスクが実行される時刻を過ぎたら、再度ログインし
対象のフォルダ パス (既定の場合 C:\Users\Public\test.txt) の出力を確認します。

9. 対象のフォルダ パスにファイルが出力されている場合には
該当のファイルをご確認くださいますよう、お願いいたします。
また、セッションが存在しない場合には、ファイルの出力は行われません

なお、弊社内の事象発生環境では、下記のように出力されることを確認しております。
事象発生環境では、下記の通り "WTSConnected" 状態のセッションが存在することが確認出来ます。

- 事象発生環境の出力例
WinStationName:Services, SessionId:0, State:WTSDisconnected
WinStationName:Console, SessionId:1, State:WTSConnected

 


Skip to main content