DirectoryServices: Add Property

image_pdfimage_print
   



using System;
using System.DirectoryServices;

public class AddProperty
{
   public static void Main()
   {
      DirectoryEntry de = new DirectoryEntry(
        "LDAP://192.168.1.100/cn=kblum, ou=sales, dc=ispnet1, dc=net",
        "cn=Administrator, dc=ispnet1, dc=net","password",
        AuthenticationTypes.ServerBind);

      de.Properties["telephoneNumber"].Add("(111)222-3333");
      de.Properties["telephoneNumber"].Add("(444)555-6666");
      de.CommitChanges();
      de.Close();
   }
}

           
          


DirectoryServices: Add Object

image_pdfimage_print
   



using System;
using System.DirectoryServices;

public class AddObject
{
   public static void Main()
   {
      DirectoryEntry de = new DirectoryEntry(
        "LDAP://192.168.1.100/ou=accounting, dc=ispnet1, dc=net",
         "cn=Administrator, dc=ispnet1, dc=net", "password",
         AuthenticationTypes.ServerBind);

      DirectoryEntries children = de.Children;
      DirectoryEntry newchild = children.Add("ou=auditing", de.SchemaClassName);
      newchild.Properties["ou"].Add("Auditing Department");
      newchild.CommitChanges();
      newchild.Close();
      de.Close();

      DirectoryEntry de2 = new DirectoryEntry(
       "LDAP://192.168.1.100/ou=auditing, dc=accounting, dc=ispnet1, dc=net");
      string newpath = de2.Path;
      Console.WriteLine("new path: {0}", newpath);
      de2.Close();
   }
}

           
          


DirectoryServices: Simple Search

image_pdfimage_print
   

using System;
using System.DirectoryServices;

public class SimpleSearch
{
   public static void Main()
   {
      DirectoryEntry root = new DirectoryEntry(
        "LDAP://192.168.1.100/DC=ispnet1,DC=net",
        "cn=Administrator, dc=ispnet1, dc=net", "password",
        AuthenticationTypes.ServerBind);

      DirectorySearcher searcher = new DirectorySearcher(root);
      searcher.Filter = "(&(objectClass=person)(sn=Blum))";
      searcher.PropertiesToLoad.Add("cn");
      searcher.PropertiesToLoad.Add("telephoneNumber");
      SearchResultCollection results = searcher.FindAll();

      foreach(SearchResult result in results)
      {
         string searchpath = result.Path;
         Console.WriteLine("path: {0}", searchpath);
         ResultPropertyCollection rpc = result.Properties;
         foreach(string property in rpc.PropertyNames)
         {
            foreach(object value in rpc[property])
               Console.WriteLine("  property = {0}  value = {1}", property, value);
         }
      } 
   }
}
           
          


DirectoryEntry Rename Object

image_pdfimage_print
   


using System;
using System.DirectoryServices;

public class RenameObject
{
   public static void Main()
   {
      DirectoryEntry de = new DirectoryEntry(
        "LDAP://192.168.1.100/ou=auditing, ou=accounting, dc=ispnet1, dc=net",
        "cn=Administrator, dc=ispnet1, dc=net", "password",
        AuthenticationTypes.ServerBind);

      DirectoryEntries des = de.Children;
      DirectoryEntry badObject = des.Find("cn=test");
      badObject.Rename("cn=testing");
      de.CommitChanges();
      de.Close();
   }
}


           
          


DirectoryEntry and DirectoryEntries

image_pdfimage_print
   



using System;
using System.DirectoryServices;

public class RemoveObject
{
   public static void Main()
   {
      DirectoryEntry de = new DirectoryEntry(
        "LDAP://192.168.1.100/ou=accounting, dc=ispnet1, dc=net",
         "cn=Administrator, dc=ispnet1, dc=net", "password",
         AuthenticationTypes.ServerBind);

      DirectoryEntries children = de.Children;
      try
      {
         DirectoryEntry badObject = children.Find("ou=auditing");
         children.Remove(badObject);
         de.CommitChanges();
         Console.WriteLine("the object was removed");
      } catch (Exception)
      {
         Console.WriteLine("the object was not found");
      }
   }
}

           
          


DirectoryServices:Modify Property

image_pdfimage_print
   

using System;
using System.DirectoryServices;

public class ModifyProperty
{
   public static void Main()
   {
      DirectoryEntry de = new DirectoryEntry(
         "LDAP://192.168.1.100/cn=kblum, ou=sales, dc=ispnet1, dc=net",
         "cn=Administrator, dc=ispnet1, dc=net", "password",
          AuthenticationTypes.ServerBind);

      de.Properties["sn"][0] = "Mullen";
      de.CommitChanges();
      Console.WriteLine("New property value: {0}", de.Properties["sn"][0]);
      de.Close();
   }
}


           
          


DirectoryEntry : List Objects

image_pdfimage_print
   

using System;
using System.Collections;
using System.DirectoryServices;

public class ListObjects
{
   public static void Main()
   {
      DirectoryEntry de = new DirectoryEntry(
        "LDAP://192.168.1.100/dc=ispnet1, dc=net");

      Console.WriteLine(de.Path);
      DirectoryEntries des = de.Children;
      foreach(DirectoryEntry entry in des)
      {
         Console.WriteLine("  child: " + entry.Name);
      }
   }
}