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 ...
Get Active Directory Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.