Я использую следующий код для создания нового пользователя активного каталога. Учетная запись создана успешно, но когда я пытаюсь войти в свой домен, я получаю сообщение «убедитесь, что вы ввели пароль для своей работы или учетной записи школы». Я убедился, что пароль введен правильно и что учетная запись включена и разблокирована в активном каталоге.Настройка учетной записи пользователя Active Directory в первый раз
DirectoryEntry entry = new DirectoryEntry(createLdapPath);
try
{
DirectoryEntry newUser = entry.Children.Add("CN = " + userName, "USER");
newUser.Properties["targetAddress"].Value = "SMTP:" + userName + "@mydomain.onmicrosoft.com";
newUser.Properties["extensionAttribute15"].Value = "EDU";
newUser.Properties["proxyAddresses"].Add("SMTP:" + userName + "@mydomain1.edu");
newUser.Properties["proxyAddresses"].Add("smtp:" + userName + "@mydomain.onmicrosoft.com");
newUser.Properties["proxyAddresses"].Add("smtp:" + userName + "@mydomain2.mail.onmicrosoft.com");
newUser.Properties["givenName"].Value = fname;
newUser.Properties["sn"].Value = lname;
newUser.Properties["displayName"].Value = fname + " " + lname;
newUser.Properties["mail"].Value = fname.ToLower() + "." + lname.ToLower() + "@mydomain.edu";
newUser.Properties["sAMAccountName"].Value = fname.ToLower() + "." + lname.ToLower();
newUser.Properties["userPrincipalName"].Insert(0, fname.ToLower() + "." + lname.ToLower() + "@mydomain.edu");
newUser.CommitChanges();
newUser.Invoke("SetPassword", new object[] { "myStrongPassword" });
newUser.CommitChanges();
newUser.Close();
string strUserName = userName;
DirectoryEntry usr = entry;
DirectorySearcher searcher = new DirectorySearcher(usr);
searcher.Filter = "(SAMAccountName=" + strUserName + ")";
searcher.CacheResults = false;
SearchResult result = searcher.FindOne();
usr = result.GetDirectoryEntry();
usr.Properties["LockOutTime"].Value = 0;
int old_UAC = (int)usr.Properties["userAccountControl"][0];
// AD user account disable flag
int ADS_UF_ACCOUNTDISABLE = 2;
// To enable an ad user account, we need to clear the disable bit/flag:
usr.Properties["userAccountControl"][0] = (old_UAC & ~ADS_UF_ACCOUNTDISABLE);
usr.CommitChanges();
usr.Close();
entry.Close();
}
catch (Exception ex)
{}
Я могу войти только тогда, когда я открываю «пользователи и компьютеры Active Directory» и перейдите к моей недавно созданной учетной записи -> Щелкните правой кнопкой мыши -> Сброс пароля. Затем введите пароль еще раз, а также установите флажок «Разблокировать пользователя». Таким образом, когда я пытаюсь войти в систему, он работает нормально.
В чем я могу быть пропущен или ошибочен в моем коде?
Спасибо за ваш ответ. В моем случае оказалось, что активный каталог еще не синхронизирован с офисом 365. – user3340627