Сейчас на форуме: zombi-vadim, tyns777 (+5 невидимых) |
eXeL@B —› Программирование —› создание пользователя в Active Directory |
Посл.ответ | Сообщение |
|
Создано: 05 декабря 2007 14:38 · Личное сообщение · #1 В MSDN'e tcnm функция... только вот ни как не могу с её помощью добавить пользователя HRESULT TForm1::CreateUserFromADs(LPCWSTR pwszContainerDN, LPCWSTR pwszName, LPCWSTR pwszSAMAccountName, LPCWSTR pwszInitialPassword) { HRESULT hr; CComBSTR sbstrADsPath = "LDAP://"; sbstrADsPath += pwszContainerDN; IADsContainer *pUsers = NULL; hr = ADsGetObject(sbstrADsPath, IID_IADsContainer, (LPVOID*)&pUsers); if(SUCCEEDED(hr)) { IDispatch *pDisp = NULL; CComBSTR sbstrName = "CN="; sbstrName += pwszName; hr = pUsers->Create(CComBSTR("user"), sbstrName, &pDisp); if(SUCCEEDED(hr)) { IADsUser *padsUser = NULL; hr = pDisp->QueryInterface(IID_IADsUser, (void**) &padsUser); if(SUCCEEDED(hr)) { CComBSTR sbstrProp; CComVariant svar; svar = pwszSAMAccountName; sbstrProp = "sAMAccountName"; hr = padsUser->Put(sbstrProp, svar); hr = ADsOpenObject(sbstrADsPath, L"adm", L"admpass", ADS_SECURE_AUTHENTICATION, IID_IADsContainer, (LPVOID*)&pUsers); hr = padsUser->SetInfo(); //ВОТ ТУТ hr = 0x80070005 hr = padsUser->SetPassword(CComBSTR(pwszInitialPassword)); sbstrProp = "pwdLastSet"; svar = 0; hr = padsUser->Put(sbstrProp, svar); svar.Clear(); sbstrProp = "userAccountControl"; hr = padsUser->Get(sbstrProp, &svar); if(SUCCEEDED(hr)) { svar = svar.lVal & ~(ADS_UF_ACCOUNTDISABLE | ADS_UF_PASSWD_NOTREQD | ADS_UF_DONT_EXPIRE_PASSWD); hr = padsUser->Put(sbstrProp, svar); hr = padsUser->SetInfo(); } hr = padsUser->put_AccountDisabled(VARIANT_FALSE); hr = padsUser->SetInfo(); padsUser->Release(); }pDisp->Release(); }pUsers->Release(); }return hr; } Может кто сталкивался ? |
|
Создано: 05 декабря 2007 16:45 · Личное сообщение · #2 |
|
Создано: 05 декабря 2007 17:01 · Личное сообщение · #3 nv_xor пишет: Гораздо проще реализовать с помощью C#, VBS, JS. или на Дельфях, предварительно импортировав ActiveDs.tlb а если не заморачиваццо, то на самом деле VBS и JS предоставляют широкие возможности для вот таких финтов ушами. ----- бессмысленные манипуляции не становятся более разумными если их повторять |
|
Создано: 06 декабря 2007 04:52 · Личное сообщение · #4 |
|
Создано: 06 декабря 2007 08:35 · Личное сообщение · #5 |
eXeL@B —› Программирование —› создание пользователя в Active Directory |
Эта тема закрыта. Ответы больше не принимаются. |