De recherche d'un utilisateur, id de connexion par nom et prénom
J'ai trouvé Comment puis-je obtenir une liste des utilisateurs à partir d'active directory?
Il est utile quand je n'ai que quelques utilisateurs, mais j'ai tellement de nombreux utilisateurs dans l'AD, donc, quand je lance ma requête
if ((String)(entry.Properties["sn"].Value) == "lname"
&& (String)(entry.Properties["givenName"].Value) == "fname")
{
return entry.Properties["samAccountName"].Value.ToString();
}
il a fallu trop de temps pour finir.
Que puis-je faire pour rechercher un utilisateur particulier id d'ouverture de session par prénom et nom de famille?
OriginalL'auteur user1225072 | 2012-04-20
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes sur .NET 4, vous devriez vérifier le
System.DirectoryServices.AccountManagement
(S. DS.AM) de l'espace de noms. À lire ici:Fondamentalement, vous pouvez définir un contexte de domaine et de trouver facilement les utilisateurs et/ou groupes d'ANNONCES:
Si vous ne trouvez pas un utilisateur spécifié par un nom d'utilisateur, vous pouvez également utiliser la nouvelle fonctionnalité de recherche:
Le nouveau S. DS.SUIS, il est vraiment facile de jouer avec les utilisateurs et groupes AD! Et juste de trouver un seul utilisateur doit être relativement rapide, trop.
c'est exactement ce que je cherchais, parfait, merci... cependant, je n'ai trouver la manière dure que si n'importe quel champ vous demande de l'utilisateur pour la recherche n'est pas nécessaire, passez la propriété correspondante dans la
UserPrincipal
. A l'origine, je poussaisstring.empty
et puis mêmenull
et avait la n résultats retournés. Cependant, dès que j'ai ajouté unif
déclaration et ignoré cet élément dans laUserPrincipal
, j'ai enfin eu les résultats retournés (ie: sauté de Prénom lors de la Prenom n'a pas été rempli, au lieu de paramètre par défaut).OriginalL'auteur marc_s
Vous devriez être en utilisant l'AD server pour effectuer le filtrage. Fournit un filtre de syntaxe LDAP. Aussi, indiquez uniquement les propriétés que vous souhaitez à l'aide du
propertiesToLoad
argument deFindAll
:OriginalL'auteur Joshua Honig
Si
entry
fait partie d'unIEnumerable
collection, vous pourriez faire quelque chose comme:OriginalL'auteur Jeremy Holovacs
Vous devez définir la QueryFilter bien sur
searcher
, et ensuite appelersearcher.FindOne()
au lieu desearcher.FindAll()
. Le filtre de la requête peut être réglé à une UserPrincipal objet où vous définissez les champs que vous souhaitez rechercher.Microsoft a un bon exemple de ce à la Exemple De Requête page si leur exemple s'attend à trouver plusieurs objets correspondant aux critères indiqués.
Particulièrement littérale de l'adaptation de la question liée à votre exigence serait
OriginalL'auteur dsolimano