図1●グループ・ポリシーでアカウントのロックアウトを設定すると,繰り返してログオンに失敗した場合に一定時間アカウントが使用不能になる
Q

何度かドメインへのログオンに失敗したユーザーのアカウントがロックアウトされてログオンできなくなってしまいました。しかし,管理コンソールでグループ・ポリシーを確認しても[アカウントロックアウトのポリシー]は[未定義]のままです(図1)。なぜ,ロックアウトされるのでしょうか?

A

アカウントをロックアウトするしきい値を過去に設定して,その後に[未定義]に変更したことが原因と思われます。グループ・ポリシーにおける[未定義]は“設定を取り消す”のではなく“設定の上書きをしない”という意味です。そのため,一度設定した後に[未定義]に戻すと,管理ツール上では設定していない場合と同じに見えますが,実際は以前に設定した内容がそのまま保持されていることになります。


△ 図をクリックすると拡大されます
図2●ロックアウトなどアカウントのセキュリティ設定を確認するにはnet accountsコマンドを実行する

 ドメインに適用されているアカウント・ロックアウトの設定を確認するには,コマンド・プロンプト上で「net accounts /domain」を実行すると表示されます(図2)。ここで[ロックアウトしきい値]が[しない]でなく特定の数値になっていれば,アカウントのロックアウトが設定されています。


△ 図をクリックすると拡大されます
図3●グループ・ポリシーの管理ツールにある[アカウントロックアウトのしきい値]ポリシーの設定画面

 設定を解除してロックアウトしないようにするには,しきい値として0回を設定します。具体的には,グループ・ポリシーの設定画面から[アカウントのロックアウトのしきい値]の設定ウインドウで,[このポリシーの設定を定義する]のチェックボックスをクリックして数値を[0]に変更します(図3)。設定の変更を即座に有効にするにはコマンド・プロンプトから「secedit /refreshpolicy machine_policy /enforce」を実行してポリシーを強制適用してください。

 それから再度「net accounts /domain」コマンドを実行すればロックアウトのしきい値は[しない]になっていることが確認できるはずです。[ロックアウト期間][ロックアウト監視ウィンドウ]の値は以前の値が残っていますが,しきい値が0になっている場合はこの値は無視されます。

便利なnet accountsコマンドを活用
 このように,数値を設定するタイプのポリシーでは,0を設定すると無効化するものが多く存在します。ほかでも一般に有効/無効の2種類しかないタイプのポリシーの場合は,いったん「有効」にした設定は「未定義」に設定しても「無効」にはならないので,特にテスト環境や管理者が複数存在するようなシステムでは注意が必要です。

 今回使ったnet accountsコマンドは,アカウント・ロックアウト以外にも管理ツールのパスワードのポリシーで設定する項目などを確認できます。ただし,コマンドで表示される内容と管理ツール上で表示される表記では,同じ設定項目を示していても表記が若干異なります(表1)。

net accountsコマンド
での表記
管理ツール上
での表記
強制ログオフまでの時間 ログオン時間を経過した場合は自動的にユーザーをログオフする*
パスワード変更禁止期間 パスワードの変更禁止期間
パスワード有効期間 パスワードの有効期間
最小パスワード長 パスワードの長さ
使用できない旧パスワード数 パスワードの履歴を記録する
ロックアウトしきい値 アカウントのロックアウトのしきい値
ロックアウト期間 ロックアウト期間
ロックアウト監視 ウィンドウロックアウトカウントのリセット
表1●アカウント・ポリシーの設定項目
*「強制ログオフまでの時間」は管理ツールからは[有効/無効]のみ設定可能。[有効]にした場合のデフォルト時間は0分だがnet accountsコマンドで/forcelogoffオプションを指定すれば変更可能。

 また,このコマンドを使用し,パスワードのポリシーを設定したりドメイン・コントローラ間でのアカウント・ポリシーの同期をさせるといったことが可能です。詳細はオンライン・ヘルプを参照してください。ただ,残念ながらアカウント・ロックアウトのポリシーに関する設定はこのコマンドではできません。

天野朋樹