タイトルを見て、これから何が書かれるのか想像がついた方は、酸いも甘いも経験したActive Directory使いであると言えるでしょう。

実はHyper-Vがリリースされてから、「正式な対応があるのだろうか?」と疑問に思い続けてきたことがあります。それは…

Hyper-Vでスナップショットを取った後で、コンピュータアカウントのパスワードがリセットされてしまったらどうなるのだろう?

きっと、同じ疑問を持っている方は多いはずです。

ドメインに参加しているコンピュータは、ユーザーと同様に「コンピューターアカウント」と呼ばれるアカウントを持っています。ユーザーアカウントの場合、定期的に利用者自らがパスワードを変更しますが、コンピューターアカウントの場合にも同様に、規定で30日に1回、パスワードをリセットします。

このパスワードは、ADとコンピュータ自身の両方に保存されており、両者が食い違った場合には「不正なコンピュータ」であるとしてドメインにアクセスすることができなくなります。もちろん、ユーザーがそのコンピュータを使用してログオンすることもできません。

こうした問題が発生するのは、たとえば、クライアントにバックアップからディスクイメージを戻した場合です。そのバックアップイメージが前回の自動パスワードリセット前に取られたものであれば、再度ドメインに参加しなおさないとユーザーはログオンすることができません。

※ドメインへの再参加ではなく、パスワードのリセットでいけたかどうか…ちょっと記憶にないです…どなたか経験者いらっしゃいますか?
→ 2009.6.24 (参考) ドメインにログオンできない ~ セキュア チャネルの破損 ~ (Ask the Network & AD Support Team)

 これと同じ問題が、Hyper-Vのスナップショットでも発生するはずだよなぁ…と考えていました。

実は、コレに対する現時点の回答が Windows Server Core Team のBLOGに投稿されました。

Running Hyper-V in a lab? Use Snapshots? Check this out!
http://blogs.technet.com/askcore/archive/2009/06/03/running-hyper-v-in-a-lab-use-snapshots-check-this-out.aspx

対処法は、ずばり…

コンピューターアカウントのパスワードリセットを無効にしてください

とのこと…。あぁ、やはりそうきましたか..。

具体的にはコンピュータ側のレジストリを修正します。

DisablePasswordChange
http://technet.microsoft.com/ja-jp/library/cc962289(en-us).aspx

これによって、コンピューターはドメインコントローラと���パスワードリセットを行わなくなります。

ちなみに、パスワードの有効期間を(限りなく)長くする…という方法もあります。

MaximumPasswordAge
http://technet.microsoft.com/ja-jp/library/cc937922(en-us).aspx

なお、この設定はグループポリシーからも行えます。

image
[コンピュータの構成]-[ポリシー]-[Windowsの設定]-[セキュリティの設定]-[ローカル ポリシー]-[セキュリティオプション] の中の[ドメインメンバ:コンピュータアカウント パスワード: 定期的な変更を無効にする]

コンピューターパスワードのリセットを無効にすることにより、もちろん、セキュリティレベルは落とすことになります。

スナップショットは大変便利な機能ではあるのですが、本番運用系の場合には、こうした留意点もあることを覚えて置いてください。