読者です 読者をやめる 読者になる 読者になる

treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

UserProfile Serviceがエラーでログイン不可

この間、PCにログインしようとしたら、
「Userprofile Service サービスによるログオンの処理に失敗しました ユーザープロファイルを読み込めません。」
とエラーが出て、ログインできなかったので、実施した対処をご報告します。

それはログイン時に発生

ログインしようとしたらこんなエラー画面でログインができなくなっていました。
エラーの図:

f:id:treedown:20160429233846j:plain

解決方法はMSのサポートオンラインに。

https://support.microsoft.com/ja-jp/kb/947215

これによれば、レジストリ操作にて回復操作ができるようです。ただしレジストリ操作には管理者権限が必要、と、よくある話です。
で、今回ログインできないのが管理者権限なんだけどなぁ…。と、なるところですが実は管理者権限を有するアカウントは二つ用意してあることが功を奏しました。(一つは管理者が普段使いの方で、もう一つはバックグラウンドで管理者権限でジョブ実行用に用意していたんです。)
このもう一つの管理者権限アカウントは無事ログインができることが確認してあるのでそっちでログインして対処することにします。

イベントログにも出ていました

イベントログを確認すると、アプリケーションログにイベントID=1500でエラーが記録されていました。)
ソース:User Profile Service

「プロファイルを読み込めないためログオンできません。ネットワークに接続していること、およびネットワークが正しく機能していることを確認してください。

 詳細 - アクセスが拒否されました。」

というイベントが記録されていたのが確認できました。

対処開始

まずはレジストリエディタを起動してレジストリを確認します。

ちょうど画面中のSID末尾1001に該当するユーザのプロファイル紐付けが壊れていることになっているようです。
「1001」と「1001.bak」の二種類があることがわかります。
図1:プロファイルキーの該当箇所

f:id:treedown:20160429234229p:plain

試しに1001を見てみると「ProfileImagePath」キーの値が「C:\Users\TEMP」となっており本来のユーザID(ユーザプロファイルへのパス)と相違していることが確認できます。
図2:プロファイルのパス確認

f:id:treedown:20160429234242p:plain

そこでTEMPのプロファイル(おそらくTEMPのプロファイルは一時ユーザプロファイルです。中身は空っぽでした。)が指定されている方のSID(レジストリキー)をリネームしてしまいます。
図3:TEMPのプロファイルをリネーム

f:id:treedown:20160429234258p:plain

正当なユーザプロファイルのパスが記載されている方のSID(レジストリキー)から「.bak」の記述を取り払って、TEMP側のレジストリキーを「.bak」化してしまいます。
図4:キー名を入れ替え

f:id:treedown:20160429234314p:plain

入れ替え完了したところで、ユーザ名が記載されている方のユーザプロファイルキーを確認します。
図5:もともとのユーザのレジストリキー

f:id:treedown:20160429234327p:plain

確認箇所は以下の二点。
・RefCountキー
・Stateキー
両方の値に0を入力してしまいます。

RefCountキー側はもともと0が入力されていました。ここは入力不要のようです。
図6:RefCountキー画面

f:id:treedown:20160429234348p:plain
Stateキー側は16進数で8000(10進数で32768)が入力されていました。この値自体が何かはさておきまして、「0」を入力します。
図7:Stateキー画面(入力前)

f:id:treedown:20160429234357p:plain
図8:Stateキー画面(入力後)

f:id:treedown:20160429234406p:plain
ここまで実行したら、PCを再起動して再度Windowsにログオンするために、障害が発生したIDのパスワードでログオンしたら無事デスクトップが開きました。

よかったよかった。