chpasswd(Change Password)の使用場面

chpasswdは、Windows−NT4.0/2000/XP のコマンドプロンプトでパスワードを変更する必要があるときに使うツールですが、 単純なパスワードの変更だけでなく、変更回数を指定して、中間のパスワードを生成しながら変更することができるように なっています。
使用場面としては、Windowsドメインでパスワードのポリシーが決まっており、例えば、10桁以上、過去30回と同じパスワー ドを使えないといった長さと回数に制限があるといったときに威力を発揮します。
パスワードのポリシーは決まっているが、他のサーバとの都合上、現在と同じパスワードを使いたいなどの理由で、パスワ ードを変更したくないときはあると思います。上記のパスワードポリシーに逆らうわけではなく、瞬時に数十回変更するこ とで、変更していないのと同じ効果を得ようとするツールですので問題なく使用できると思います。
回数指定を0にすると通常のパスワード変更になります。

よく雑誌などに載っている情報では、パスワードのポリシーの推奨設定がありますが、下表の「パスワードの変更禁止期間」 や「パスワードは要求する複雑さを満たす」の項目が推奨設定になっていると、このコマンドは、はじかれる可能性があり ます。

ポリシー                 デフォルト設定 推奨設定
パスワードの長さ 0文字以上 8文字以上
パスワードの変更禁止期間 0日 2日
パスワードの有効期間 42日 42日
パスワードの履歴記録 0 24以上
パスワードは要求する複雑さを満たす 無効 有効
暗号化を元に戻せる状態でドメインの
すべてのユーザーのパスワードを保存する
無効 無効

コマンドの詳細は、「chpasswd」とパラメータを付けずに実行していただくと見られます。


下図は、実行時の画面です。 ドメイン「domain01」のユーザー「reicot」のパスワードを「beforepass」から「afterpass」に変更した場合です。
その際、頭に「abcde」を持つ中間のパスワードを10回生成しながら変更を繰り返すように指示しています。


このプログラムは「NetUserChangePassword」を使って作成しました。
MicrosoftのMSDNやWebページに載っているサンプルを参考に、自分の目的のために改良したものです。