Ask CORE

Microsoft Japan Windows Technology Support

月例ロールアップ更新プログラムの適用後の 1 回目のシステム再起動時にサービス実行アカウントが一時ユーザー プロファイルになる場合がある

こんにちは。Windows サポート チームです。
今回は、Windows Server 2008 R2 環境にて月例ロールアップ更新プログラムの適用後の 1 回目の再起動時にサービスの実行アカウントとして指定されているユーザーが一時ユーザー プロファイルとなる場合がある事象についてご紹介します。
事象が発生致しました場合には、サービスやシステムの再起動、レジストリの編集により一時ユーザー プロファイルにてログオンする事象が解消致します。
事象が発生していることの確認方法と併せて以下にてご案内差し上げます。

======================================================================
// 発生事象について
======================================================================

Windows Server 2008 R2 および Windows 7 向けの月例ロールアップ更新プログラムを適用後にシステムを再起動すると、サービスの実行アカウントとして指定しているアカウントがサービスの自動起動時に一時ユーザー プロファイルでログオンする事象が発生します。
弊社へは以下の 2017 年 1 月の月例ロールアップ更新プログラムの適用により発生したという報告が寄せられております。
—————————————-
January 2017 Security Monthly Quality Rollup for Windows 7 SP1 and Windows Server 2008 R2 SP1
https://support.microsoft.com/ja-jp/help/3212646
—————————————-
しかし、本事象の発生の要因となっておりますバージョンの cleanupintlcache.exe につきましては KB3185278 (2016 年 9 月 20 日 の更新プログラム) に既に含まれております。
そのため、2016 年 9 月 20 日以降配布されている月例ロールアップ更新プログラム内には同様の更新が含まれており、本事象が発生する可能性がございます。
—————————————-
2016 年 9 月 20 日   KB3185278
https://support.microsoft.com/ja-jp/help/4009438
—————————————-

======================================================================
// 発生原因について
======================================================================

事象発生の原因として以下 2 つの処理が関連しております

(1) 更新プログラム適用後 1 回目のシステム再起動時の動作
————————————————————–
更新プログラムの適用後にシステムの再起動をおこなうと、cleanupintlcache.exe プロセスがシステム上にプロファイルが存在しているユーザー、全ユーザーの NTUSER.DAT レジストリ ハイブ ファイル(%userpfrofile%\NTUSER.DAT) をロードしてロードしたレジストリにアクセスします。
このとき、cleanupintlcache.exe プロセスは排他的に NTUSER.DAT ファイルにアクセスしているため他のプロセスからは一切アクセスができない状態となります。

(2) サービス起動時の動作
————————————————————–
サービスの実行アカウントとして SYSTEM アカウントや LOCAL SERVICE アカウント、NETWORK SERVICE といったサービス アカウント以外のプロファイルを保持しているアカウント (Administrator や手動で追加したアカウント) を指定している場合には、サービスの起動時に実行アカウントのログオン処理が実行され、ユーザー プロファイルがロードされます。
この際にユーザー プロファイルに含まれている NTUSER.DAT レジストリ ハイブ ファイルをロードする為にアクセスします。
サービスのスタート アップの種類が “自動” の場合にはシステムの起動時に自動的にサービスが起動するため、システムの起動処理の中でサービスの実行アカウントのプロファイルがロードされます。
プロファイルのロード処理の中で NTUSER.DAT レジストリ ハイブ ファイルへのアクセスが失敗すると一時ユーザー プロファイルでログオンします。

上記の (1) の処理にて排他的に NTUSER.DAT レジストリ ハイブ ファイルにアクセスしている状態で、(2) のサービス起動処理が実行されると、(2) の処理で NTUSER.DAT レジストリ ハイブ ファイルにアクセスできず、ユーザー プロファイルのロード処理が失敗して一時ユーザー プロファイルでログオンする事象が発生します。
======================================================================
// 事象発生の確認方法
======================================================================

システムの再起動後に、サービスの実行アカウントが一時ユーザーでログオンしていることの確認につきましては以下手順にて行うことができます。
(1) イベント ログの確認
(2) レジストリの確認
(1) イベント ログの確認
————————————————————–
一時ユーザー プロファイルでログオンした場合は Application イベント ログに以下のイベント ID 1502/1508/1515/1511 のエラーが記録されます。
以下、記録されるイベントの例となります。

————————————
ログの名前:         Application
ソース:           Microsoft-Windows-User Profiles Service
イベント ID:       1502
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:
ユーザー:          S-1-5-21-XXXXXXXXXX-XXXXXXXXX-XXXXXXXXXX-XXX     <———– (※1) 一時ユーザー プロファイルでログオンしているアカウントの SID
コンピューター:       testcomputer.test.local
説明:
ローカルに格納されているプロファイルを読み込めません。セキュリティの権限が不足しているか、ローカル プロファイルが壊れている可能性があります。

詳細 – プロセスはファイルにアクセスできません。別のプロセスが使用中です。
————————————
ログの名前:         Application
ソース:           Microsoft-Windows-User Profiles Service
イベント ID:       1508
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:
ユーザー:          SYSTEM
コンピューター:       hostname.test.local
説明:
レジストリを読み込めませんでした。メモリが不足しているか、セキュリティの権限が不足している可能性があります。

詳細 – プロセスはファイルにアクセスできません。別のプロセスが使用中です。
– C:\Users\<UserName>\ntuser.dat    <———– (※2) <UserName> が一時ユーザー プロファイルでログオンしているアカウント名
————————————
ログの名前:         Application
ソース:           Microsoft-Windows-User Profiles Service
イベント ID:       1515
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:
ユーザー:          S-1-5-21-XXXXXXXXXX-XXXXXXXXX-XXXXXXXXXX-XXX
コンピューター:       testcomputer.test.local
説明:
このユーザー プロファイルのバックアップを作成しました。次回このユーザーがログオンするときには、バックアップされたプロファイルを使います。
————————————
ログの名前:         Application
ソース:           Microsoft-Windows-User Profiles Service
イベント ID:       1511
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:
ユーザー:          S-1-5-21-XXXXXXXXXX-XXXXXXXXX-XXXXXXXXXX-XXX
コンピューター:       testcomputer.test.local
説明:
ローカルのプロファイルが見つかりません。一時プロファイルでログオンしています。このプロファイルへの変更はログオフ時に失われます。
————————————
(2) レジストリの確認
————————————————————–

一時ユーザー プロファイルでログオンしているアカウントがいる場合には、以下のレジストリ キー配下に <SID>.bak レジストリ キーが作成されます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
======================================================================
// 事象の解消方法
======================================================================

更新プログラムを適用し 1 回目の再起動後時、サービスの実行アカウントが一時ユーザー プロファイルでログオンしている場合には、以下手順にて事象を解消します。

(1) サービスの停止およびログオフ
————————————————————–

一時ユーザー プロファイルでログオンしているアカウントが実行アカウントとなっているサービスの停止および、対話的にログオンしている場合にはログオフします。
停止したサービスを再度起動後、 Application イベント ログにエラーが記録されず、<SID>.bak レジストリ キーが削除されていることを確認します。
Application  イベント ログに  ソース:Microsoft-Windows-User Profiles Service  のエラーが記録され、事象が解消していない場合にはシステムを再起動して再度確認します。事象が解消していない場合には以下 (2) の手順を実施頂きますようお願い致します。

(2) レジストリの編集
————————————————————–

以下の公開情報にございます手順にてレジストリを操作いただき、Application イベント ログおよびレジストリをご確認いただきますようお願い致します。

“ユーザー プロファイル サービスによるログオンの処理に失敗しました” エラー メッセージが表示される
https://support.microsoft.com/ja-jp/help/947215/you-receive-a-the-user-profile-service-failed-the-logon-error-message

======================================================================