Я пытаюсь программно добавить пользователя, подобного этому ниже, но получить сообщение об отказе в доступе при сохранении.Я работаю локально на Windows 7, и код находится в консольном приложении.
/// <summary>
///
/// </summary>
/// <param name="userName"></param>
/// <param name="password"></param>
/// <param name="description"></param>
public static void CreateUser(string userName, string password, string description)
{
PrincipalContext pc = new PrincipalContext(ContextType.Machine, null);
System.DirectoryServices.AccountManagement.UserPrincipal u = new UserPrincipal(pc);
u.SetPassword(password);
u.Name = userName;
u.Description = description;
u.UserCannotChangePassword = true;
u.PasswordNeverExpires = true;
u.Save();
GroupPrincipal gp = GroupPrincipal.FindByIdentity(pc, "Users");
gp.Members.Add(u);
gp.Save();
}
Есть идеи?Я попытался ввести имя пользователя и пароль администратора и все еще получал ту же ошибку.
Консольное приложение выполняется следующим образом:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UserName = userName;
startInfo.Password = securePassword;
startInfo.LoadUserProfile = true;
startInfo.UseShellExecute = false;
startInfo.FileName = batchPath;
startInfo.Arguments = operationLogID.ToString();
Process.Start(startInfo);
Вот примерное представление о том, как настроен код:
- Испытательный комплект консольного приложения запускается в режиме отладки.
- Я проверяю пользователя и, если он не существует ... затем пытаюсь создать его, как показано выше.Вот где происходит ошибка.