Working with Directory Services in VB.NET: Part 2

In this article I will explain you about Working with Directory Services in VB.NET.
  • 4936
Second part of my last article see part 1
You can use Active Directory Users and Computers MMC to manage your Active Directory resources. It resides on the Administrative Tools menu on Windows 2000 servers.
 
 The code in Listing 21.26 searches the MCBCorp.Com Windows 2000 Active Directory domain. It outputs all of the Active Directory objects and their properties, and then all the data inside, recursively.
 
 Listing 21.26: Using DirectoryEntry (ldapdir1.vb)
 
 Imports System.DirectoryServices 
 Class Test
     Dim instance As DirectoryServicesCOMException
     Shared Sub Main(ByVal args As String())
         ' the name of the domain
         Dim entry As New DirectoryEntry("LDAP://MCBcorp, DC=com")
         Console.WriteLine("Name = " + entry.Name)
         Console.WriteLine("Path = " + entry.Path)
         Console.WriteLine("SchemaClassName = " + entry.SchemaClassName)
         Console.WriteLine("Properties:")
         Console.WriteLine("=====================================")
         For Each key As String In entry.Properties.PropertyNames
             Try
                 Console.WriteLine(vbTab & key & " = "
                 For Each objCollection As [Object] In entry.Properties(key)
                     Console.WriteLine(vbTab & vbTab & Convert.ToString(objCollection))
                 Next
                 Console.WriteLine("==================================="
             Catch
             End Try
         Next 
         Dim mySearcher As New System.DirectoryServices.DirectorySearcher(entry)
         mySearcher.Filter = ("(objectClass=*)")
         Console.WriteLine("Active Directory Information")
         Console.WriteLine("=====================================")
  
         For Each resEnt As System.DirectoryServices.SearchResult In mySearcher.FindAll()
             Try
                 Console.WriteLine(resEnt.GetDirectoryEntry().Name.ToString())
                 Console.WriteLine(resEnt.GetDirectoryEntry().Path.ToString())
                 Console.WriteLine(resEnt.GetDirectoryEntry().NativeGuid.ToString())
                 Console.WriteLine("==================================="
             Catch
             End Try
         Next
     End Sub
 End Class
 
 You can create entries and properties in the Active Directory. You simply create a new directory or use an existing one with the DirectoryEntry class and then assign the values you want to the specific properties. When you have finished assigning the values, call the CommitChanges() method to cause the changes to occur in the Active Directory. The sample code in Listing 21.27 achieves this update operation.
 
 Listing 21.27 also shows you how to pick individual properties of Active Directory objects! The properties term of Active Directory is not related to the VB.NET class properties used with get and set. Active Directory properties are an array of adjustable object property members with specific names determined by the Active Directory schema. For example, you can set the following properties for objects: sn, givenName, title, or mycustomproperty. The properties change depending on their class definition in the Active Directory schema. Refer to the Active Directory Schema MMC to discover possible object types and definitions.
 
 Listing 21.27: Updating Active Directory
 
     // get the handle to MCBuser from Active Directory database
     Dim entry As New DirectoryEntry("LDAP://DC=MyDC, O=MyOrg, OU=MyOU, cn=MCBuser")
     entry.Password = "mcb"// password
     (entry.Properties("myprop")(0)) = "myvalue" // properties
     entry.CommitChanges()
 
 Conclusion
 
 Hope this article would have helped you in understanding Working with Directory Services in VB.NET.

Categories

More Articles

© 2020 DotNetHeaven. All rights reserved.