1
Domain 2008 R2,DC。管理員。 DelphiXe2。E_ADS_SCHEMA_VIOLATION
我獲取用戶信息與ADOConnection1.SQL:
選擇 extensionAttribute1, extensionAttribute2, CN, SN, 給定名稱, 顯示名, sAMAccountName賦, 的UserPrincipalName, 郵件, 稱號, telephonenumber , 公司, 部門, 說明, objectSid, physicalDe liveryOfficeName, userAccountControl的 從 'LDAP:// DC = RU/DC = MYDOMAIN/OU =用戶' 其中 objectCategory = '人' 和對象類= '用戶' 和 userAccountControl的<> 514 和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添加新用戶,或者更改指定用戶的屬性?
或者如何正確添加用戶在活動目錄中的所有屬性?
如果我打電話給setinfo w/o密碼 - 接收錯誤'密碼不回答安全策略的規則'(translate bad) –
也許你缺少一些必須的屬性,如用戶名(sAMAccountName)。如果您使用的是Active Directory,請考慮使用首選的LDAP提供程序。 – Remko
非常感謝。花了幾天時間才明白。通過LDAP和ADsGetObject函數做了所有工作。 –