域 2008 R2,DC。行政人员。DelphiXe2.
我使用 ADOConnection1.SQL 获取用户信息:
从 'LDAP://dc=ru/dc=mydomain/OU= 中选择 extensionAttribute1、extensionAttribute2、cn、sn、givenname、displayName、sAMAccountName、userPrincipalName、mail、标题、电话号码、公司、部门、描述、objectSid、physicalDeliveryOfficeName、userAccountControl User' where objectCategory = 'person' and objectClass='user' and userAccountControl<>514 and userAccountControl<>546 按名称排序
一切正常。我把新用户:
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 的方式添加新用户或更改指定用户的属性?
或者如何正确地在活动目录中添加具有所有属性的用户?