4/5からwindowsのユーザープロファイル情報が読み込めない現象が発生している。
運悪く自分が電話当番だったので朝から顧客から「パソコンがおかしいんです」のラッシュ
「パソコンが初期状態っぽい感じ」って言われたから「一度ログオフしてみてください」
って伝えたら復旧した。これが2件つづいたから調べてみたら案の定windows側の障害っぽい。
http://blog.livedoor.jp/nichepcgamer/archives/1070733673.html
windowsのセキュリティ関連のパッチが当たったことが原因らしい。
この症状は2段階あって
軽度:初期化されたような画面になる。ログオフで復旧
重度:「プロファイルが読み込めません。」でログインできない
体感だと7割は軽度:ログオフで復旧するけど、3割は重度:ログインできない。
1週間で約20件これ電話受けてるからね。日本一これの被害にあってると言っても過言じゃないよ!
何度か試してみたけど、システムの復元やリカバリでは
「問題を特定できませんでした。」や「エラー」となって復旧しない。
復旧方法は以下
ユーザー プロファイル サービスによるログオンの処理に失敗しました” エラー メッセージが表示される
ただこの方法は自分たちでやる分は問題ないけど、実際には
①起動時にF8キー押しながらシステム詳細画面に移行
②セーフモードで起動
③上記対処法を顧客に電話越しに説明
という流れになる。
毎回やってられるか(# ゚Д゚)!
③の処理を説明するのも時間取られ過ぎるし、素人にレジストリ触らせるのも怖すぎる!
今の段階ではマイクロソフト側がこの不具合に関して対処する旨の発表がないため
防ぐのは無理だけど、せめてログインできなくなったPCの復旧は早く終わらせるようにしよう!
ってことで③の処理をbat化するために調べてみた。
バックアップのためのファイルコピーとかでbatファイルは作ったりするけど
レジストリ触るbatファイルを組むのは初めてだからちょっと楽しかった!
2時間くらいかけて以下が出来上がった。
本当は詳しく解説しようとしたけど長くなりすぎるのであきらめた。(‘ω’)
自己責任!わかる人だけわかって!
/*①ディレクトリの中味を指定の場所にコピーしてバックアップをとる*/
/*ProfileList_back というディレクトリを作ってコピー*/
reg copy HKLM\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList HKLM\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList_back /s
/*②指定のディレクトリのファイルを表示する*/
/*ディレクトリ内のWindowsNT は半角スペースを含んでいるため””で囲む*/
reg query HKLM\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList
/*③bakと名前がついているディレクトリを探す*/
/*④そのディレクトリと同じ名前でbakがついていないファイルを別名に変更*/
/*⑤bakと名前がついているディレクトリからbakを消して名前を変更*/
/*⑥キーの値を参照*/
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList_back\S-1-5-21-2571594397-4019821750-2366128870-1001.bak /v RefCount
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList_back\S-1-5-21-2571594397-4019821750-2366128870-1001.bak /v State
/*⑦キーの値を書換える*/
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList_back\S-1-5-21-2571594397-4019821750-2366128870-1001.bak /v RefCount /t REG_DWORD /d 0x0
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList_back\S-1-5-21-2571594397-4019821750-2366128870-1001.bak /v State /t REG_DWORD /d 0x0
緑文字の部分は端末によって違うので書き換える。
というか変数に持たせて色々する予定だったんだけど・・・
/*ディレクトリを変数に入れる*/
set reg_dir=HKLM\SOFTWARE\Microsoft\Windows” “NT\CurrentVersion\ProfileList
③~⑤の処理が簡単にかけなかったので社内の人に
「ここまでできたけど③~⑤の処理がbat化できないんです・・・いい案ありますか?」って聞いたら
「ここまで触ったことないので・・たぶん、みたかさんの方が詳しいですよ」って言われた。(自慢
ケド結局③~⑤を簡単に書くための勉強する時間もないので
社内の人に説明して、このコードを元にVBで作ってもらった。
・・・ので配布ができないのである( ;∀;)
batファイル化して配布して英雄になりたかったよーぅ
[セーフモード]で立ち上げるとUSBメモリ認識しないけど [セーフモードとネットワーク]で起動するとUSBメモリ認識するみたいなので
完成したプログラムを別端末に送って、USBメモリにコピーして
症状がでたPCで実行したら復旧うまくいったみたい。
これで復旧の時間をだいぶ安全に短縮できた。。。オレ偉い!
手柄はVBでプログラム作ってくれた社内の人になってるけど!
毎月第2木曜がwindowupdateの日だから明日、明後日にはこれの修正パッチが出ることを祈る・・・。
今回参考になったサイト
ユーザープロファイルエラーの復旧方法
https://support.microsoft.com/ja-jp/help/947215/you-receive-a-the-user-profile-service-failed-the-logon-error-message
セーフモード起動
http://esupport.trendmicro.com/solution/ja-jp/1309997.aspx
回復オプション
http://pasofaq.jp/controlpanel/nusrmgr/7restration.htm
https://www.orange-ss.com/column/0082.html
レジストリコマンド
https://support.microsoft.com/ja-jp/help/256986/windows-registry-information-for-advanced-users
https://docs.microsoft.com/ja-jp/powershell/scripting/getting-started/cookbooks/working-with-registry-entries?view=powershell-6
http://www.atmarkit.co.jp/fdotnet/dotnettips/120regtype/regtype.html
http://www.atmarkit.co.jp/fwin2k/win2ktips/593regsave/regsave.html
http://www.atmarkit.co.jp/ait/articles/0402/21/news005.html
http://pasofaq.jp/windows/command/reg.htm#nameid2
コマンドプロンプト 文字の切り取り
https://web.plus-idea.net/2016/09/windows-bat-substr/
レジストリってパソコンを触りだした当初から「レジストリは下手に触るとまずいぞ!」ってビビらされてきて
「一生触ることはないだろう」って思ってたけど調べたら意外と分かりやすい。
まぁ今後触ることはないだろう!
※コメントは承認後に表示されます。
コメントを公開されたくない場合、名前の後に「:非公開」とつけてください。