2010-07-06 3 views
3

J'ai un fichier .csv avec EmployeeNumber, TelephoneNumber, IPPhone Number dans un fichier texte J'ai besoin d'un moyen de faire une boucle sur tous les enregistrements dans le fichier texte et de modifier les 2 attributs de téléphone dans LDAP s'il vous plaît aider. Ceci est totalement frustrantModifier l'attribut LDAP PhoneNumber et IPPhone en utilisant C#

Répondre

4

Si vous utilisez .NET 3.5 (ou vous pouvez le mettre à jour), consultez l'espace de noms System.DirectoryServices.AccountManagement - facilite beaucoup de choses.

Lisez-le: Managing Directory Security Principals in the .NET Framework 3.5 et découvrez toutes les propriétés de la nouvelle classe UserPrincipal dans .NET 3.5.

L'autre endroit que je recommande est Richard Mueller's web site - il a beaucoup de feuilles Excel qui montrent tous les attributs AD/LDAP, où sur les outils interactifs, vous trouverez ceux-ci, et ainsi de suite. Très utile! Combinez ces deux ressources, et vous devriez être capable de faire tout ce que vous devez faire!

Mise à jour: si vous ne pouvez pas mettre à jour .NET 3.5 (qui est vraiment comme un pack de service au-dessus de 2 .NET ....), vous devez procéder comme suit:

  • importer le CSV dans un List<CSVRecord> - j'utiliserais la bibliothèque libre FileHelpers pour faire cela; votre CSVRecord contiendrait les trois champs dans votre fichier CSV
  • créer une classe DirectorySearcher basée sur votre racine de recherche (votre domaine ou un sous-conteneur de celui-ci); trouver si trouvé le filtre de recherche LDAP correct pour trouver votre utilisateur par EmployeeId

  • boucle

    sur les entrées de la liste, et pour chaque entrée

    • rechercher dans le répertoire pour cet utilisateur
    • : saisir le DirectoryEntry de vos SearchResult et mettre à jour les deux attributs
    • appel .CommitChanges() sur ce DirectoryEntry

Je ne pense pas qu'il existe vraiment d'autre moyen de le faire - il n'y a pas de façon magique de sélectionner tous les utilisateurs à la fois, ou de les mettre à jour tous en même temps.

Mise à jour # 2:
Voici quelques ressources que vous pouvez consulter:

et le livre ultime sur le sujet:

Joe Kaplan/Ryan Dunn: The .NET Developer's Guide to Directory Services Programming

alt text http://ecx.images-amazon.com/images/I/512V652XBSL._SL500_AA300_.jpg

+0

Pouvez-vous fournir un peu d'un extrait de code. Je n'ai pas de problème pour obtenir les propriétés de l'utilisateur de LDAP Je ne peux pas inverser ma pensée pour mettre à jour un groupe entier d'utilisateurs à partir d'un fichier .csv. J'apprécie aussi votre réponse. – EverGlade

+0

J'utilise .net 2.0 btw. ils n'ont pas mis à jour nos serveurs pour utiliser .Net 3.5 même si nous codons avec VS 2008 – EverGlade

+0

J'ai tout essayé Je ne sais pas où commencer COMMENT VENIR IL N'Y A PAS DE BONS EXEMPLES SUR LE NET. LDAP ET REPERTOIRE ACTIF DOIT ÊTRE DES OUTILS TRÈS MAUVAIS JE DEVRIE. AIDEZ-MOI....!!!! S'il vous plaît – EverGlade

Questions connexes