Bonjour tout le monde,
Alors voilà, je suis en train de developper une application me permettant de mettre à jour le chemin de profil des utilisateurs itinérants. Le problème est que je ne dois modifier la propriété profilePath que pour les utilisateurs itinérant, c'est-à-dire ceux qui ont déjà une valeur pour cette propriété. Seulement je ne vois pas comment ne récupérer que ces derniers. Voici donc ce que j'ai fait:
Le problème s'est qu'il plante lorsqu'il tombe sur un utilisateur pour lequel la propriété ProfilePath n'est pas rempli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 DirectorySearcher directorySearcher = new DirectorySearcher(ldap); directorySearcher.SearchScope = SearchScope.Subtree; directorySearcher.Filter = "(ObjectCategory=user)"; foreach (SearchResult result in directorySearcher.FindAll()) { // On récupère l'entrée trouvée lors de la recherche DirectoryEntry directoryEntry = result.GetDirectoryEntry(); if (directoryEntry.Properties["ProfilePath"].Value.ToString() != "") { // Pour l'instant j'ajoute mes infos dans une arraylist... users.Add(directoryEntry.Properties["SamAccountName"].Value.ToString() + ";" + directoryEntry.Properties["ProfilePath"].Value.ToString()); }
Je pensais faire quelque chose au niveau du filtre et mettre un truc du genre:
directorySearcher.Filter = "(&(ObjectCategory=user)(ProfilePath!=null))";
pour ne récupérer que mes utilisateurs itinérant mais cela ne marche...
En espérant avoir été clair et en vous remerciant de votre aide
___TrankiLou___
Partager