1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
try
{
string ldapPath = "LDAP://" + ((containerPath!="")?containerPath+",":"")+ "DC=domain,DC=com";
DirectoryEntry entry = new DirectoryEntry(ldapPath, adminName, adminPassword, AuthenticationTypes.Secure);
DirectoryEntry newUser = entry.Children.Add("cn=" + loginToAdd, "User");
newUser.Properties["SAMAccountName"].Add(loginToAdd);
newUser.Properties["displayName"].Add("name to display");
newUser.Properties["sn"].Add("User");
newUser.Properties["givenName"].Add("Test");
newUser.Properties["street"].Add("address user");
newUser.Properties["UserPrincipalName"].Add(loginToAdd + "@domain.com");
newUser.Properties["description"].Add("user insert Test");
newUser.CommitChanges();
DirectorySearcher searchedUser = new DirectorySearcher(entry);
searchedUser.Filter = "SAMAccountName=" + loginToAdd;
SearchResult result = searchedUser.FindOne();
newUser = result.GetDirectoryEntry();
newUser.Invoke("SetPassword", new object[1] {"motdepasse" });
newUser.Properties["userAccountControl"].Value = 512;
newUser.Properties["pwdLastSet"].Value = 0;
newUser.CommitChanges();
return true;
}
catch (Exception ex)
{
Console.WriteLine("Error : " + ex.Message);
Console.WriteLine("Stacks : " + ex.StackTrace);
return false;
} |