Recipe 18.2 Programming with .NET

18.2.1 Problem

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

18.2.2 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

18.2.3 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 if you want to do Active Directory programming with .NET. For more information and examples on using System.DirectoryServices, see Chapter 28 of Active Directory, Second Edition (O'Reilly).

System.DirectoryServices does not currently provide interfaces for everything that could be done with ADSI. Instead, you can use the NativeObject property on an instantiated object to return an ADSI object, which you can then use to access any ADSI properties or methods for the object.

18.2.4 See Also

Chapter 28 in Active Directory, Second Edition (O'Reilly) and System.DirectoryServices reference information can be found at http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDirectoryServices.asp



Active Directory Cookbook
Active Directory Cookbook, 3rd Edition
ISBN: 0596521103
EAN: 2147483647
Year: 2006
Pages: 456

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net