Windows で一旦画面をロックすると絶対に解除できなくなる状況

softether2006-03-19

別にこれを使って攻撃ができたりセキュリティホールになったりする訳ではないのだが、Windows 2000 / Windows Server 2003 を使っている場合で、ある状況下で画面を「ロック」すると、正しいパスワードを入力しても二度と「ロック解除」できなくなり、リモートからの RPC / RDP 接続もできないので、コンピュータのリセットボタンを押して再起動しないといけないという状況があるようだ。


Active Directoryドメインコントローラとして動作している Windows サーバーを降格させるために dcpromo でスタンドアロンサーバーまたはドメインメンバへ降格作業を行い、ウィザードが最後のページまでいったとき (再起動ボタンが出る直前) または「再起動しない」ボタンをクリックした後の状態は 絶対にロックをしてはならない。スクリーンセーバーの発動によるロックも同等である。


この状態で Windows の画面がロックされてしまうと、正しいパスワードを入力してもロックを解除することができない。なぜならば、すでにその時点ではコンピュータは Active Directory ドメインコントローラではないのでユーザー情報を持っておらず、かつローカルの Administrator によるロック解除もできない (また NETLOGON サービスも停止している)。


もしそこで画面をロックしてしまった場合は、コンピュータのリセットボタンを押してリセットしないといけない。


また、リモートデスクトップで遠隔から DC に接続して降格処理を行っている最中はより慎重に作業しなければならないようである。
dcpromo で降格処理が開始したら、接続しているリモートデスクトップ接続を 絶対に切断してはいけない。 意図的に切断、または回線の状況により TCP コネクションが切れてしまった場合は、次にリモートデスクトップ接続をすると、やはりログインできないので、セッションの復元ができない。
したがってリモートデスクトップ経由で DC の降格をするときは、十分安定した LAN 上で作業を行い、かつクライアントコンピュータ側でもリモートデスクトップが終了しないように十分注意する必要がある。ノート PC などをクライアントとして使っている場合は無線 LAN が切れたりバッテリーが切れたりしないようにする。
もし、リモートデスクトップの接続が切れてしまった場合は、現地に行ってリセットボタンを押すしかなくなる。


なお、防止策としては事前に shutdown -r -f -t 600 等を実行しておくのも良い。