На моем рабочем месте мне приходится иметь дело с 2 разными доменами x.com (родительский каталог) и его поддоменом yxcom
В родительском домене (x.com) есть все активные пользователи каталога, компьютеры и т. Д.С моей локальной рабочей станции, которая находится в домене x.com, я могу читать электронные письма для пользователей активного каталога.
Сервер находится в домене yxcom поддомена x.На сервере не удается прочитать активный каталог, а адрес электронной почты не читается из активного каталога.
В дополнение к этому я пытался использовать тот же код с виртуальной машины, которая находится в домене yxcom (так же, как сервер), и, к моему удивлению, это сработало.
Я использую службы каталоговв .NET, чтобы сделать это, и мой код ниже:
string userEmail = string.Empty;
try
{
accountName = accountName.Replace(ConfigurationManager.AppSettings["DomainName"].ToString(), "");
DirectorySearcher ds = new DirectorySearcher()
{
SearchRoot = new DirectoryEntry()
{
Path = ConfigurationManager.AppSettings["DirectoryPath"].ToString(),
AuthenticationType = AuthenticationTypes.Secure
}
};
ds.Filter = "(SAMAccountName=" + accountName + ")";
ds.PropertiesToLoad.Add(ConfigurationManager.AppSettings["ADMailPropertyName"].ToString());
SearchResult result = ds.FindOne();
if (result != null)
{
userEmail = result.Properties[ConfigurationManager.AppSettings["ADMailPropertyName"].ToString()][0].ToString();
}
}
catch (Exception e)
{
//Log error
}
return userEmail;
Любая помощь будет оценена.