Доступ запрещен при попытке добавить учетную запись пользователя Windows - PullRequest
1 голос
/ 15 июля 2011

Я пытаюсь программно добавить пользователя, подобного этому ниже, но получить сообщение об отказе в доступе при сохранении.Я работаю локально на 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);

Вот примерное представление о том, как настроен код:

  • Испытательный комплект консольного приложения запускается в режиме отладки.
  • Я проверяю пользователя и, если он не существует ... затем пытаюсь создать его, как показано выше.Вот где происходит ошибка.

1 Ответ

1 голос
/ 15 июля 2011

Даже если вы вошли в систему как администратор, вам необходимо запустить консоль как администратор.Вот как запустить консоль от имени администратора: http://www.howtogeek.com/howto/windows-vista/run-a-command-as-administrator-from-the-windows-vista-run-box/.

Затем найдите консольное приложение и запустите его.

Удачи!

-Michael

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...