0

Delphi 10.3 と IPWorks LDAP コンポーネントを使用しています。、 、などunicodePwd、ほとんどの属性を問題なく変更できます。ただし、ユーザーの属性については、接続が安全でない場合はパスワードを変更できないため、管理者として安全な接続にバインドし、正しい DN を提供した後はもちろん、を設定できません。givenNamemailuserAccountControlADS_UF_PASSWD_CANT_CHANGE

const
  ADS_UF_NORMAL_ACCOUNT = 512;
  ADS_UF_DONT_EXPIRE_PASSWD = 65536;
  ADS_UF_PASSWD_CANT_CHANGE = 64;
  ADS_UF_LOCKOUT = 16;

ipaLDAP1.DN := searchResultDN;
ipaLDAP1.AttrCount := 1;
ipaLDAP1.AttrType[0] := 'userAccountControl';
ipaLDAP1.AttrValue[0] := IntToStr(ADS_UF_NORMAL_ACCOUNT + ADS_UF_DONT_EXPIRE_PASSWD + ADS_UF_LOCKOUT + ADS_UF_PASSWD_CANT_CHANGE);
ipaLDAP1.AttrModOp[0] := amoReplace;

ipaLDAP1.Modify();

修正できないのがおかしいADS_UF_PASSWD_CANT_CHANGE。ユーザーには影響しません。ユーザーを確認すると、この属性はまだチェックされていません。理由がわかりません。

4

1 に答える 1