Как я могу сбросить пароль в Exchange с помощью C # - PullRequest
0 голосов
/ 31 января 2020

Я не могу сбросить пароль активной директории с C #, у меня есть этот код

DirectoryEntry de = new DirectoryEntry(path, dominio + @"\" + usu, pass1, AuthenticationTypes.Secure);
DirectorySearcher ds = new DirectorySearcher(de);
try
{
    string strFilter = "(&(objectClass=user)(|(sAMAccountName="+nameid+")))";
    ds.Filter = strFilter;
    ds.PropertiesToLoad.Add("displayName");
    ds.PropertiesToLoad.Add("sAMAccountName");
    ds.PropertiesToLoad.Add("DistinguishedName");
    ds.PropertiesToLoad.Add("CN");
    SearchResult result = ds.FindOne();
    string dn = result.Properties["DistinguishedName"][0].ToString();

    var user = result.GetDirectoryEntry();
    user.Invoke("ChangePassword", new object[] { oldpassword, newpassword });
    user.CommitChanges();

    MessageBox.Show("ok");
}
catch(Exception ex)
{
    MessageBox.Show("error");
}

, он работает правильно, до строки INVOKE, вот когда я получаю ошибку

user.Invoke("ChangePassword", new object[] { oldpassword, newpassword });

Не могли бы вы помочь мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...