この間、PCにログインしようとしたら、
「Userprofile Service サービスによるログオンの処理に失敗しました ユーザープロファイルを読み込めません。」
とエラーが出て、ログインできなかったので、実施した対処をご報告します。
それはログイン時に発生
ログインしようとしたらこんなエラー画面でログインができなくなっていました。
エラーの図:
解決方法はMSのサポートオンラインに。
https://support.microsoft.com/ja-jp/kb/947215
これによれば、レジストリ操作にて回復操作ができるようです。ただしレジストリ操作には管理者権限が必要、と、よくある話です。
で、今回ログインできないのが管理者権限なんだけどなぁ…。と、なるところですが実は管理者権限を有するアカウントは二つ用意してあることが功を奏しました。(一つは管理者が普段使いの方で、もう一つはバックグラウンドで管理者権限でジョブ実行用に用意していたんです。)
このもう一つの管理者権限アカウントは無事ログインができることが確認してあるのでそっちでログインして対処することにします。
イベントログにも出ていました
イベントログを確認すると、アプリケーションログにイベントID=1500でエラーが記録されていました。)
ソース:User Profile Service
「プロファイルを読み込めないためログオンできません。ネットワークに接続していること、およびネットワークが正しく機能していることを確認してください。
詳細 - アクセスが拒否されました。」
というイベントが記録されていたのが確認できました。
対処開始
まずはレジストリエディタを起動してレジストリを確認します。
ちょうど画面中のSID末尾1001に該当するユーザのプロファイル紐付けが壊れていることになっているようです。
「1001」と「1001.bak」の二種類があることがわかります。
図1:プロファイルキーの該当箇所
試しに1001を見てみると「ProfileImagePath」キーの値が「C:\Users\TEMP」となっており本来のユーザID(ユーザプロファイルへのパス)と相違していることが確認できます。
図2:プロファイルのパス確認
そこでTEMPのプロファイル(おそらくTEMPのプロファイルは一時ユーザプロファイルです。中身は空っぽでした。)が指定されている方のSID(レジストリキー)をリネームしてしまいます。
図3:TEMPのプロファイルをリネーム
正当なユーザプロファイルのパスが記載されている方のSID(レジストリキー)から「.bak」の記述を取り払って、TEMP側のレジストリキーを「.bak」化してしまいます。
図4:キー名を入れ替え
入れ替え完了したところで、ユーザ名が記載されている方のユーザプロファイルキーを確認します。
図5:もともとのユーザのレジストリキー
確認箇所は以下の二点。
・RefCountキー
・Stateキー
両方の値に0を入力してしまいます。
RefCountキー側はもともと0が入力されていました。ここは入力不要のようです。
図6:RefCountキー画面
Stateキー側は16進数で8000(10進数で32768)が入力されていました。この値自体が何かはさておきまして、「0」を入力します。
図7:Stateキー画面(入力前)
図8:Stateキー画面(入力後)
ここまで実行したら、PCを再起動して再度Windowsにログオンするために、障害が発生したIDのパスワードでログオンしたら無事デスクトップが開きました。
よかったよかった。