Windows Server 2008 以降の Active Directory 環境で ldifde コマンドで新規ユーザーをインポートする場合に PSO が適用されない

現象
Windows Server 2008 以降の Active Directory 環境で PSO と Default Domain Policy のパスワード ポリシーの両方を設定している場合、ldifde コマンドを利用した新規ユーザーのインポートを行った際に、PSO が適用されず、Default Domain Policy が適用される現象が発生します。
原因
Active Directory では、ユーザーを作成する際に、ユーザー オブジェクトを作成した後、パスワードなどのユーザーに設定する属性情報を設定します。パスワードの属性情報を設定する際には、ユーザーに適用されるべきパスワード ポリシーを確認し、そのパスワードが要件を満たしているかの確認を行います。適用されるべきパスワード ポリシーの判定においては、きめ細やかなパスワード ポリシー (PSO) が存在しているかどうかの確認が行われます。この際、ユーザー オブジェクトに設定される内部属性が判定に使用されます。LDIFDE でユーザーの作成を行い、同時にパスワードの属性値を指定した場合は、まだこの内部属性が存在していない状態でパスワード ポリシーの判定が行われるため、結果としてユーザーには、ドメイン パスワード ポリシーが設定される結果となってしまいます。

一方で、[Active Directory のユーザーとコンピューター] の MMC スナップ インでユーザーを作成した場合は、ユーザーに内部属性が設定された後に適用されるべきパスワード ポリシーの判定処理が行われるため、PSO が有効に機能します。これは、LDIFDE と [Active Directory のユーザーとコンピューター] の MMC スナップ インにおける、ユーザー作成時の内部処理の違いに起因して発生する現象です。
回避策
この現象は、LDIFDE にてユーザーを作成する際に、まずユーザーを作成し、その後にパスワードを設定することで対処できます。LDIFDE でユーザーを作ったあとに、パスワードの設定を行うには、LDIFDE の引数として指定する記述ファイルの内容を変更します。具記述方法については、下記の記載変更例をご覧ください。

現象が発生する LDIF ファイルの記述方法

dn: CN=testuser01,CN=Users,DC=test,DC=local

changetype:add

objectclass:user

unicodePwd:: IgBjAGEAcgAiAA==

sAMAccountName:testuser01



現象が発生しない LDIF ファイルの記述方法

dn: CN=testuser01,CN=Users,DC=test,DC=local

changetype:add

objectclass:user

sAMAccountName:testuser01



dn: CN=testuser01,CN=Users,DC=test,DC=local

changetype: modify

replace:unicodePwd

unicodePwd:: IgBjAGEAcgAiAA==

sAMAccountName:testuser01

-

注意: ファイルの末尾に、ハイフンと改行を設定する必要があります。
プロパティ

文書番号:2749233 - 最終更新日: 09/20/2016 10:53:00 - リビジョン: 3.0

Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard

  • kbharmony kbtshoot KB2749233
フィードバック