Windows Serverのログオン関連トラブル(解決編)
Windows Serverのログオン関連トラブルのつづき。解決したので忘れないようにメモ。
メインの問題は、やっぱり自動ログオンが設定されていたことだった。
自動ログオンが壊れるとき
レジストリのHKEY_LOCAL_MACHINE$SOFTWARE$Microsoft$Windows NT$CurrentVersion$Winlogonキーをレジストリエディタで見てみる。
たとえばユーザ Administrator(パスワード password)による自動ログオンを設定した直後、レジストリキーの値は次のようになっている。
- DefaultUserName:Administrator
- DefaultPassword:password
- AutoAdminLogon:1
その後、別のユーザ hoge(パスワード pass)が1度でも対話的にログオンすると、キーの値は次のように変わる。
- DefaultUserName:hoge
- DefaultPassword:password
- AutoAdminLogon:1
よく見ると、ユーザとパスワードが一致していない。しかし、自動ログオン機能が有効になっている。その結果、マシンが起動してログオン画面を表示するたび、必ずエラーダイアログを表示するようになる。ユーザ Administrator での自動ログオンはもうできない(ユーザ hoge による対話的ログオンはできる)。
自動ログオンが壊れたときの対処
(1) パスワードを再設定する
ユーザ hoge でログオンしていても、レジストリの DefaultPassword は見えてしまう。実際に今回、DefaultPasswordに( hoge のパスワード pass と異なる)見たことのないパスワードっぽい文字列が設定されていたのを見て、Administrator のパスワードを特定できた。
hoge でマシンに入り、レジストリから拾ったパスワードを使って、再度ログオンする。上の例の場合は password という文字列を使って、Administratorでログオンする。その後、CTRL+ALT+DELETE から表示されるメニューで、パスワードを変更する。
(2) 自動ログオンを無効にする
上のレジストリキーを、次のように書き換える。
- DefaultPassword:(空にする)
- AutoAdminLogon:0
DefaultPassword の値が入力されていなければ、AutoAdminLogonは自動的に0(false)になるらしい。