none
שליפת שמות משתמשים מתוך AD בC# RRS feed

  • שאלה

  • בוקר טוב לכולם

    כמו שרשמתי בכותרת אני מנסה לשלוף שמות משתמשים מתוך Active Directory   (ואםזה משנה  זה domain  2008 r2)

    אני בדקתי שאני מחובר לdomain עם DirectoryEntry(במחלקרה אחרת)

    אבל כשאני מנסה לשלוף משתמשים אני מקבל שורה ריקה(מלבד השם name  שנותן לי את שם הdomain.

    אשמח שתתקנו אותי מה אני עושה לא נכון 

    מקווה שהסברתי את עצמי כמו שצריך.

     

    ותודה מראש על העזרה

     

     DirectoryEntry de = GetDirectoryEntry();<br/>
       DirectorySearcher Searcher = new
     DirectorySearcher(de);<br/>
       Searcher.Filter = "(&(objectClass=user) (cn="
     + "*"
     + "))"
    ;<br/>
       SearchResultCollection result = Searcher.FindAll();<br/>
       Console.WriteLine("result.Count = "
    +result.Count);<br/>
       string
     testing = "Name"
    ;<br/>
    <br/>
       <br/>
          foreach
     (SearchResult item in
     result)<br/>
       {<br/>
        if
     (de.Properties[testing].Value != null
    )<br/>
        {<br/>
         Console.WriteLine(de.Properties[testing].Value);<br/>
    <br/>
        }<br/>
       }<br/>
       Console.WriteLine("--------------END MY foreach---------------------\n"
    );<br/>
      
    

     


    rez@sysdarts.com
    • הועבר על-ידי Arik Poznanski יום שישי 12 אוגוסט 2011 08:33 רלוונטי לפורום #C (מאת:פיתוח ב- .Net)
    • הועבר על-ידי Hengzhe Li יום רביעי 18 ינואר 2012 07:33 (מאת:Microsoft Visual C#)
    יום ראשון 12 דצמבר 2010 07:01

תשובות

כל התגובות

  • הי,

    תבדוק אם מה שרשמתי בעבר בנושא (http://blogs.microsoft.co.il/blogs/gilf/archive/2010/03/03/performing-queries-against-active-directory-domain-services.aspx) יכול לעזור לך.
    עקרונית תוסיף לפילטר שאתה בונה את השורה הבאה:

    search.PropertiesToLoad.Add("displayName");
    
    אני מקווה שזה יעזור לך.
    Gil Fink
    • הוצע כתשובה על-ידי Amit Peer יום חמישי 13 ינואר 2011 13:27
    • סומן כתשובה על-ידי Meir Pinto יום ראשון 23 ינואר 2011 06:36
    • סימון כתשובה בוטל על-ידי Roei Even-Ziv יום ראשון 23 ינואר 2011 07:33
    יום רביעי 12 ינואר 2011 15:27
  • גיל ערב טוב ושבת שלום

    דבר ראשון תודה על העזרה

    לצערי הפתרון שהצעת לא עוזר אני עדיין מקבל  שורות ריקות

    בנוסף

    האם יכול להיות שהבעיי הי בגלל  בגלל שאני משתמש רגיל שפונה לשרת ולא אדמיניסרטור  (התוכנה שלי לא רצה על השרת DC עצמו )?

    או שהDOMAIN הוא 2008 R2  ?

    בנוסף כשאני מנסה לבצע

     var entry = new
     DirectoryEntry(path, username, password); 
    אני מקבל שגיאת error hresult e_fail has been returned from a call to a com component
    רק כשאני מריץ את ה DirectoryEntry

    ללא פרמטרים הכול עובד (מלבד הבעייה כמובן)

    דבר נוסף ששכחתי לציין בפוסט המקורי. אני עובד על net 2 (אם זה בעייה אני יכול לשנות)

     


    rez@sysdarts.com
    יום חמישי 13 ינואר 2011 19:09
  • הי,

    תנסה לבדוק את הפוסט הבא:
    http://www.willasrari.com/blog/query-active-directory-users-using-c/000133.aspx

    לא אמורה להיות בעיה עם עם זה שהDomain הוא R2 2008.


    Gil Fink
    • סומן כתשובה על-ידי Meir Pinto יום ראשון 23 ינואר 2011 06:36
    • סימון כתשובה בוטל על-ידי Roei Even-Ziv יום ראשון 23 ינואר 2011 07:33
    • סומן כתשובה על-ידי Roei Even-Ziv יום חמישי 27 ינואר 2011 08:57
    יום שני 17 ינואר 2011 06:26
  • לMeir Pinto
    אתה לא חושב שמכיוון שאני פתחתי את השאלה  כדיי שאני אסמן "סמן כתשובה"  ????

    גיל עזר לי אבל הבעייה עדיין לא נפתרה (אני עוד לא סיימתי לעבור על המאמר שהוא שלח ועל עוד כמה שאני מצאתי לבד )

     

    כמובן שאני אעדכן

     

     


    rez@sysdarts.com
    יום ראשון 23 ינואר 2011 07:33
  • לקח קצת זמן אבל הבנתי מה עשיתי לא נכון

    בתוך ה foreach

    שורת ההדפסה צריכה להיות

     

     Console.WriteLine(item.Properties["SAMAccountName"][0].ToString()); 
    
    תודה על העזרה ועל המאמרים :-)

     


    rez@sysdarts.com
    יום חמישי 27 ינואר 2011 09:00