ドメイン 2008 R2、DC。管理者。DelphiXe2.
ADOConnection1.SQL を使用してユーザーの情報を取得します。
「LDAP://dc=ru/dc=mydomain/OU= から extensionAttribute1、extensionAttribute2、cn、sn、givenname、displayName、sAMAccountName、userPrincipalName、mail、title、telephonenumber、company、department、description、objectSid、physicalDeliveryOfficeName、userAccountControl を選択します。 user' where objectCategory = 'person' and objectClass='user' and userAccountControl<>514 and userAccountControl<>546 order by name
すべて正常に動作します。私は新しいユーザーを置きます:
Uses ActiveDs_TLB, ActiveX, ComObj;
..
var Usr: IADsUser; Comp: IADsContainer;
begin
try
CoInitialize(nil);
Comp:=GetObject('WinNT://localhost') as IADsContainer;
Usr:=comp.Create('user','Koko') as IADsUser;
usr.SetPassword('Fa123456789');
// usr.FirstName:='Pups';
Usr.SetInfo;
except ..
end;
end;
質問:
- 上記のコードは、新しいユーザーを追加すると正常に機能します。しかし、たとえば FirstName (unRem usr. FirstName) などのプロパティを追加しようとすると、エラー E_ADS_SCHEMA_VIOLATION が表示されます。どのように治療するのですか?
- プロパティ Usr:IADsUser; によるプロンプト。「extensionAttribute1」などの展開された属性を変更するには?
- 照会 ADOConnection1.SQL によって新しいユーザーを追加したり、指定したユーザーのプロパティを変更したりできるかどうか。
または、Active Directory にすべての属性を持つユーザーをどのように正しく追加するのでしょうか?