title: Adding user to AD - Receiving error
body: <p>Can someone please help? I wrote this in C# and it worked and then I converted it to vb and now it will not work. Any assistance is greatly appreciated.</p>
  
  <pre><code>Imports System.DirectoryServices.AccountManagement
  Imports System.DirectoryServices
  
  Public Class Form1
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      Dim objADAM As DirectoryEntry     '  // Binding object.
      Dim objUser As DirectoryEntry   '    // User object.
      Dim strDisplayName As String    '    // Display name of user.
      Dim strPath As String      '   // Binding path.
      Dim strUser As String            '   // User to create.
      Dim strUserPrincipalName As String   '// Principal name of user.
      Dim strUserAccount As String       ' // IE: smiller
  
      '// Construct the binding string.
      '//path is set to FrontEnd &gt; CHR &gt; Users
      strPath = "LDAP://OU=Users,OU=CHR,OU=FrontEnd,DC=arrows,DC=COM"
  
      Console.WriteLine("Bind to: {0}", strPath)
  
      '// Get AD LDS object.
      '  Try
      ' {
      objADAM = New DirectoryEntry(strPath)
      objADAM.RefreshCache()
      '}
      'catch (Exception v)
      ' {
      '    Console.WriteLine("Error:   Bind failed.");
      '    Console.WriteLine("         {0}", v.Message);
      '     return;
      ' }
  
      '// Specify User.
      strUser = "CN=Miller\\, Shane"
  
      '//email display name
      strDisplayName = "lastname, firstname"
  
      '//user id
      strUserAccount = "smiller_"
  
      '//user login
      strUserPrincipalName = "smiller_"
  
      'Console.WriteLine("Create:  {0}", strUser)
  
      '// Create User.
      'Try
  
      objUser = objADAM.Children.Add(strUser, "user")
      objUser.Properties("displayName").Add(strDisplayName)
      objUser.Properties("userPrincipalName").Add(strUserPrincipalName)
      objUser.Properties("distinguishedName").Add("smiller_") ' // User name
  
      '//sets first name
      objUser.Properties("givenName").Add("Shane")
  
      '//sets last name
      objUser.Properties("sn").Add("Miller")
  
      '//sets user initials
      objUser.Properties("initials").Add("S")
  
      '//sets users description(office) 
      objUser.Properties("description").Add("Charlotte")
  
      '//sets users job title
      objUser.Properties("title").Add("Developer I")
  
      '//sets domain name
      objUser.Properties("sAMAccountName").Add(strUserAccount)
  
      '//sets IP Phone ( IE: 26024 )
      objUser.Properties("ipPhone").Add("ipPhone")
  
      ' //sets fax # ( Currently not in use )
      ' //objUser.Properties["facsimileTelephoneNumber"].Add("facsimileTelephoneNumber");
  
      ' //sets mobile # 
      objUser.Properties("mobile").Add("mobile")
  
      '//sets home # 
      objUser.Properties("homephone").Add("homephone")
  
      '//sets company name
      objUser.Properties("company").Add("Arrows")
  
      '//sets email
      objUser.Properties("mail").Add("email here")
  
      '//sets work phone #
      objUser.Properties("telephoneNumber").Add("work telephone here")
  
      '//sets office
      objUser.Properties("physicalDeliveryOfficeName").Add("Set office here - like Charlotte")
  
      '//set street address
      objUser.Properties("streetAddress").Add("set office address here")
  
      '//set city
      objUser.Properties("l").Add("set office city here")
  
      '//set state/province
      objUser.Properties("st").Add("set office state here")
  
      '//set zip/postal code
      objUser.Properties("postalCode").Add("set office postal code here")
  
      '//set home folder - H Drive location
      objUser.InvokeSet("homeDrive", "H:")
      objUser.InvokeSet("homeDirectory", "\\\test")
  
              '//set department
      objUser.Properties("department").Add("department - Information Technology")
      objUser.CommitChanges()
  
  
  
      '//set up domain context
  
      '//set default password
      Dim pc = New PrincipalContext(ContextType.Domain)
      Dim userPrin = New UserPrincipal(pc)
      userPrin.SetPassword("defaultpassword")
  
      objUser.CommitChanges()
  
      '//Enables Account
      Dim val As Integer = CInt(objUser.Properties("userAccountControl").Value)
      objUser.Properties("userAccountControl").Value = val And Not &amp;H2
      objUser.CommitChanges()
  
      '//----------------------- Moves To AD Grp ( in this case the "CHR Users" Group )
      Dim bindString As String = "LDAP://arrows.com/CN=CHR Users,OU=SecurityGroups,OU=Groups,OU=FrontEnd,DC=arrows, DC=COM"
      Dim newMember As String = strUser + ", OU=Users, OU=CHR, OU=FrontEnd,DC=Arrows, DC=COM"
      Dim ent As DirectoryEntry = New DirectoryEntry(bindString)
  
      ent.Properties("member").Add(newMember)
  
      ent.CommitChanges()
  
      '//----------------------- Moves To AD Grp ( in this case the "CHR Users" Group )
      ' }
      'catch (Exception v)
      '{
      ' Console.WriteLine("Error:   Create failed.")
      'Console.WriteLine("         {0}", v.Message)
      '    return;
      '   }
  
      '   // Output User attributes.
      'Console.WriteLine("Success: Create succeeded.")
      'Console.WriteLine("Name:    {0}", objUser.Name)
      '    Console.WriteLine("         {0}",
      '      objUser.Properties["displayName"].Value)
      '  Console.WriteLine("         {0}",
      '       objUser.Properties["userPrincipalName"].Value)
      ' Return
      ' }
  
  End Sub
  </code></pre>