title: Error to get user group from Active Directory use LDAP in mono
body: <p>help me please deal with the problem.</p>
  
  <p>I'm trying to get the user group with the following code. I run through the <strong>mono</strong>. The OS Windows data obtained normally (the account is not included in the domain).  But when I start the same code on Linux get the error.</p>
  
  <p>What do I need to do to obtain a normal result?</p>
  
  <pre><code>using System;
  using System.Text;
  using System.DirectoryServices;
  using System.Runtime.InteropServices;
  
  namespace ActiveDirectoryTest
  {
      class Program
      {
          private static void Main(string[] args)
          {
              try
              {
                  DirectoryEntry de = new DirectoryEntry("LDAP://sub.domain.com","username@domain","password",AuthenticationTypes.None);                  
  
                  DirectorySearcher search = new DirectorySearcher(de);
                  search.ReferralChasing=ReferralChasingOption.All;
                  search.Filter = "(&amp;(ObjectClass=user)(sAMAccountName=username))";    
  
                  search.PropertiesToLoad.Add("sAMAccountName");
                  search.PropertiesToLoad.Add("memberOf");
                  StringBuilder groupNames = new StringBuilder();
  
                  var result = search.FindAll()[0];
                  int propertyCount = result.Properties["memberOf"].Count;
  
                  for (int propertyCounter = 0;
                      propertyCounter &lt; propertyCount;
                      propertyCounter++)
                  {
                      var dn = (String) result.Properties["memberOf"][propertyCounter];
  
                      var equalsIndex = dn.IndexOf("=", 1);
                      var commaIndex = dn.IndexOf(",", 1);
                      if (-1 == equalsIndex)
                      {
                          Console.WriteLine("error parse");
                      }
                      groupNames.Append(dn.Substring((equalsIndex + 1),
                          (commaIndex - equalsIndex) - 1));
                      groupNames.Append("|");
                  }
  
                  Console.WriteLine(groupNames.ToString());
              }
              catch (Exception e)
              {
                  Console.WriteLine(e.Message);
              }
              Console.ReadLine();
          }
      }
  }
  </code></pre>
  
  <blockquote>
    <p>LdapException: (32) No Such Object LdapException: Server Message:
    0000208D: NameErr: DSID-03100213, problem 2001 (NO_OBJECT), data 0,
    best match of:    ''  Novell.Directory.Ldap.LdapException</p>
  </blockquote>