A mon lieu de travail, je dois traiter avec 2 différents domaines x.com (le répertoire parent) et il est sous-domaine yxcomRecherche Active Directory à partir de C# défaut sur le serveur mais fonctionne localement
Le domaine parent (x.com) a tous les utilisateurs actifs de l'annuaire, les ordinateurs, etc. De mon poste de travail local qui se trouve dans le domaine x.com je peux très bien lire les courriels pour les utilisateurs de l'annuaire actif.
Le serveur se trouve dans le domaine y.x.com un sous-domaine de x. Sur le serveur, le répertoire actif lu échoue et l'adresse électronique n'est pas lue dans le répertoire actif. En plus de cela j'ai essayé le même code à partir d'une machine virtuelle qui se trouve dans le domaine y.x.com (même que le serveur) et à ma grande surprise cela a fonctionné.
J'utilise les services d'annuaire dans .NET pour ce faire et mon code est ci-dessous:
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;
Toute aide serait appréciée.
Y at-il un message d'erreur? Si oui, veuillez l'ajouter à votre question (utilisez le lien 'edit'). – Greg