L'obtention de tous les utilisateurs à partir d'Active Directory PrincipalContext
J'utilise le code suivant pour accéder à la liste des utilisateurs de mon AD, mais sur la ligne où j'ai ajouter les utilisateurs à ma combobox-je obtenir une référence nulle exception.
PrincipalContext AD = new PrincipalContext(ContextType.Domain, "mydomainip");
UserPrincipal u = new UserPrincipal(AD);
PrincipalSearcher search = new PrincipalSearcher(u);
foreach (UserPrincipal result in search.FindAll())
{
if (result.DisplayName != null)
{
comboBox2.Items.Add(result.DisplayName);
}
}
Une idée de ce que je fais mal?
J'ai remplacé la zone de liste déroulante avec un Console.WriteLine(result.DisplayName)
et il fonctionne très bien.
OriginalL'auteur user541597 | 2012-05-19
Vous devez vous connecter pour publier un commentaire.
Pas sûr à 100% si c'est ça le problème - mais
PrincipalSearcher
vraiment renvoie une liste dePrincipal
objets.Donc, si pour quelque raison que ce soit ton moteur de recherche serait de retour quelque chose qui est pas un
UserPrincipal
, alors votre objetresult
serait nulle - non c'est.DisplayName
propriété.Sorte que vous devriez changer votre vérification:
bien est la
comboBox2
même créé lors de l'exécution de ce code? Pouvez-vous vérifier lors du débogage sicomboBox2
oucomboBox2.Items
est NULLE??A l'appel de la méthode avant d'initialiser les composants.
OriginalL'auteur marc_s