Click here to Skip to main content
15,894,539 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
How to programmatically create new Windows Account on c#? Which CLASSes are used?
Posted

1 solution

namespace: System.DirectoryServices.AccountManagement

C#
/// <summary>
/// method to create a new local Windows user account
/// </summary>
/// <param name="username">Username of the new account</param>
/// <param name="password">Password of the new account</param>
/// <param name="displayName">Account display name</param>
/// <param name="description">Account description</param>
/// <param name="canChangePwd">Value of whether the new user can change their password</param>
/// <param name="pwdExpires">Value determining if the password ever expires</param>
public static bool CreateLocalWindowsAccount(string username, string password, string displayName, string description, bool canChangePwd, bool pwdExpires)
{
    try
    {
        PrincipalContext context = new PrincipalContext(ContextType.Machine);
        UserPrincipal user = new UserPrincipal(context);
        user.SetPassword(password);
        user.DisplayName = displayName;
        user.Name = username;
        user.Description = description;
        user.UserCannotChangePassword = canChangePwd;
        user.PasswordNeverExpires = pwdExpires;
        user.Save();
        //now add user to "Users" group so it displays in Control Panel
        GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "Users");
        group.Members.Add(user);
        group.Save();
        return true;
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error creating account: {0}", ex.Message);
        return false;
    }
}
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900