O'Reilly logo

Active Directory Cookbook by Robbie Allen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

18.2. Programming with .NET

Problem

You want to programmatically access Active Directory using the .NET Framework.

Solution

The System.DirectoryServices namespace can be used to interface with Active Directory using the .NET Framework. The following code is a simple VB.NET program that prints the attributes of the RootDSE:

Imports System.DirectoryServices

Module Module1

    Sub Main( )

        Dim objRootDSE As New DirectoryEntry("LDAP://RootDSE")

        Dim strAttrName As String
        Dim objValue As Object

        For Each strAttrName In objRootDSE.Properties.PropertyNames
            For Each objValue In objRootDSE.Properties(strAttrName)
                Console.WriteLine(strAttrName & " : " & objValue.ToString)
            Next objValue
        Next strAttrName

    End Sub

End Module

Discussion

The System.DirectoryServices namespace is a generic directory service interface that is intended to replace ADSI. It provides a rich set of properties and methods for accessing, querying, and manipulating objects in Active Directory. Currently, there is no native support for scripting languages, such as VBScript and Perl, but you can use Microsoft’s version of JavaScript (i.e., JScript) with .NET to utilize System.DirectoryServices.

The System.DirectoryServices DirectorySearcher class is a simple interface for making LDAP queries. The DirectoryEntry class is used for instantiating existing objects or creating new ones. In the Solution section, I used the DirectoryEntry class to access the RootDSE. DirectorySearcher and DirectoryEntry are the two main classes to become familiar ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required