Use a temporary password when a new user is created, add user to groups and then change the password to user supplied one.