ARTICLE

Working with Directory Services in VB.NET: Part 2

Posted by Sapna Articles | Visual Basic Language September 09, 2010
In this article I will explain you about Working with Directory Services in VB.NET.
 
Reader Level:

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.

Login to add your contents and source code to this article
share this article :
post comment
 
Team Foundation Server Hosting
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
Become a Sponsor