Code Block
Imports System.DirectoryServices
Try
Dim AD As New DirectoryEntry("WinNT://" + Environment.MachineName + ",computer")
Dim NewUser As DirectoryEntry = AD.Children.Add("TestUser", "user")
NewUser.Invoke("SetPassword", New Object() {"!123abc#"})
'User cannot change password
Dim ADS_UF_PASSWD_CANT_CHANGE As Integer = &H40
'Password Never Expires
Dim ADS_UF_DONT_EXPIRE_PASSWD As Integer = &H10000
NewUser.Invoke("Put", New Object() {"userFlags", ADS_UF_DONT_EXPIRE_PASSWD Or ADS_UF_PASSWD_CANT_CHANGE})
NewUser.Invoke("Put", New Object() {"Description", "Test User from .NET"})
NewUser.CommitChanges()
Dim grp As DirectoryEntry
grp = AD.Children.Find("Guests", "group")
If grp IsNot Nothing Then
grp.Invoke("Add", New Object() {NewUser.Path.ToString()})
End If
MessageBox.Show("Account Created Successfully")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try