I’ve not found too many examples of using .NET and ADSI. I’m writing a .NET application that adds groups(distribution lists) and users to these lists in Active Directory using VS .NET 2003. Here are few links that I found useful along with a couple of examples that create a group and then adds a user. I will recommend one book Active Directory Cookbook for Windows Server 2003 and Windows 2000 by Robbie Allen (Author)
Methods in Active Directory by wwwcoder.com (Good examples!)
http://www.wwwcoder.com/main/parentid/272/site/2150/68/default.aspx
AuthenticationTypes Enumeration
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdirectoryservicesauthenticationtypesclasstopic.asp
ADSI LDAP Provider
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/account_disabled.asp
HOW TO: Add a User to the Local System by Using Directory Services and Visual Basic .NET
http://support.microsoft.com/default.aspx?scid=kb;en-us;306271
BUG: Adding Group Memberships By Using the System.DirectoryServices Namespace Can Truncate Group Members
http://support.microsoft.com/?id=818031
Sub VerifyDL(ByVal strDLName As String, ByVal strDLDesc As String, ByVal strDomain As String, ByVal strAuthID As String, ByVal strAuthPWD As String)
Try
‘Put the ID and password to authenticate to the domain or pass into the sub from main()
Dim strAuthID as string = ConfigurationSettings.Appsettings(“authID”)
Dim strAuthPWS as string = ConfigurationSettings.Appsettings(“password”)
Dim groupName As String = “MyGroup”
Dim Description As String = “MyGroup Decription”
Dim ADsContainer As New DirectoryEntry(“LDAP://DC1/OU=Email,DC=Steve,DC=Schofield,DC=com”)
ADsContainer.AuthenticationType = AuthenticationTypes.Delegation
ADsContainer.Username = strAuthID
ADsContainer.Password = strAuthPWD
Dim newGroup As DirectoryEntry = ADsContainer.Children.Add(“CN=” + groupName, “group”)
With newGroup
.Properties(“saMAccountname”).Value = groupName
.Properties(“groupType”).Value = 2
.Properties(“Description”).Value = Description
.CommitChanges()
End With
Catch exp As Exception
ErrorHandler(exp)
End Try
End Sub
Sub AddUserToDL(ByVal strDLName As String, ByVal strNewUser As String, ByVal strDomain As String, ByVal strAuthID As String, ByVal strAuthPWD As String)
Try
‘Put the ID and password to authenticate to the domain or pass into the sub from main()
Dim strAuthID as string = ConfigurationSettings.Appsettings(“authID”)
Dim strAuthPWS as string = ConfigurationSettings.Appsettings(“password”)
Dim oGrp As DirectoryEntry = New DirectoryEntry(“LDAP://DC1/CN=MySecurtyGroup,OU=Email,DC=Steve,DC=Schofield,DC=com”)
oGrp.AuthenticationType = AuthenticationTypes.Delegation
oGrp.Username = strAuthID
oGrp.Password = strAuthPWD
‘BUG: Adding Group Memberships By Using the System.DirectoryServices Namespace Can Truncate Group Members
‘http://support.microsoft.com/?id=818031
oGrp.Invoke(“Add”, New Object() {“LDAP://CN=ANewUser,OU=MyUsers,DC=Steve,DC=Schofield,DC=com”)
oGrp.CommitChanges()
Catch exp As Exception
ErrorHandler(exp)
End Try
End Sub