В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Как добавить пользователя в локальную систему с помощью служб каталогов и Visual C#

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:306273
Для Microsoft Visual Basic.NET версии данной статьи, см. 306271.

В данной статье относится к следующим Microsoft.Библиотека классов NET Framework пространства имен:
  • Пространство имен System.DirectoryServices

В ЭТОЙ ЗАДАЧЕ

Аннотация
В этой статье показано, как использовать DirectoryServices пространство имен, чтобы добавить пользователя к локальной системе и группы.

back to the top

Требования

  • Microsoft Windows XP, Windows 2000 или Windows NT 4.0
  • Visual C#
back to the top

Создание образца

  1. Запустите Microsoft Visual Studio.NET 2003, Microsoft Visual Studio 2005 или Microsoft Visual Studio 2008, а затем создайте новый проект консольное приложение Visual C#.
  2. В обозревателе решений щелкните правой кнопкой мыши Ссылки, а затем нажмите кнопку Добавить ссылку.
  3. Добавить ссылку System.DirectoryServices.dll сборка.
  4. Замените код в файл Class1.cs следующий код.

    Примечание В Microsoft Visual C# 2005 или Microsoft Visual C# 2008 файл Class1.cs заменяется файл Program.cs.
    using System;using System.DirectoryServices;class Class1{    static void Main(string[] args)    {    try        {	 DirectoryEntry AD = new DirectoryEntry("WinNT://" + 	                     Environment.MachineName + ",computer");	 DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");	 NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});	 NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});	 NewUser.CommitChanges();	 DirectoryEntry grp;	 grp = AD.Children.Find("Guests", "group");	 if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}	 Console.WriteLine("Account Created Successfully");	 Console.ReadLine();	}    catch (Exception ex)	{	 Console.WriteLine(ex.Message);	 Console.ReadLine();	}    }}					
  5. Скомпилируйте и запустите проект.
  6. Выполните следующие действия на компьютере под управлением Windows 2000, чтобы убедиться, что учетная запись была создана и добавлена в группу «Гость».

    1. Из Начало Выберите пункт Программы, выберите пункт Администрирование, а затем нажмите кнопку Управление компьютером.
    2. Разверните Локальные пользователи и группы узел. Новая учетная запись должна появиться в списке Пользователи узел, а также как и в узле для Гость Группа.
    Выполните следующие действия на компьютере под управлением Windows XP, чтобы убедиться, что учетная запись была создана и добавлена в группу «Гость».
    1. Из Начало меню, нажмите кнопку Панель управления.
    2. Дважды щелкните значок Учетные записи пользователей. Новой учетной записи пользователя должны появиться в Учетные записи пользователей диалоговое окно.
    ВАЖНОЕ ЗАМЕЧАНИЕ: Удалите вновь созданную учетную запись пользователя из системы после завершения тестирования.
back to the top

Описание кода

Создать новую запись в каталог

При создании записи каталога в этом примере предполагается, что системы под управлением Microsoft Windows NT, Windows 2000 или Windows XP. Обратите внимание, что строка, которая передается DirectoryEntry Конструктор начинается с "WinNT: / /". Также можно запустить службы каталогов на другие операционные системы независимых производителей.
DirectoryEntry AD = new DirectoryEntry("WinNT://" + SystemInformation.ComputerName + ",computer");				

Добавить запись каталога дерева каталогов

Следующий код добавляет DirectoryEntry Тип Пользователь со значением TestUser1 для Active Directory дерево.
DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");				

Задать пароль и описание для новой учетной записи пользователя

В следующем коде вызовы Вызвать метод для вызова Задание пароля и Размещение методы DirectoryEntry объект. Задает пароль и назначает описание учетной записи пользователя. Этот код также вызывает CommitChanges метод, чтобы сохранить изменения.
NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});NewUser.CommitChanges();				

Добавьте учетную запись в группу

Чтобы добавить учетную запись в группу, выполните следующие действия:
  1. Определите переменную типа DirectoryEntry.
  2. Вызов Найти метод Дочерние элементы член ActiveDirectory класс для заполнения переменной.В этом случае группа "Гость" является цель поиска. Этот код проверяет значение, Найти Возвращает метод для определения, если обнаружена группа. Если найдена группа, новая учетная запись пользователя добавляется в группу.
DirectoryEntry grp;grp = AD.Children.Find("Guests", "group");if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}				
back to the top

Устранение неполадок

Код в этой статье не выполняется, если вы пытаетесь запустить код без достаточных привилегий для создания учетной записи пользователя. Код успешного завершения текущий пользователь должен быть членом группы «Администраторы» или иметь специальные разрешения, позволяющие пользователям создавать учетные записи пользователей.

back to the top

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 306273 — последний просмотр: 06/06/2011 13:06:00 — редакция: 4.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition

  • kbhowtomaster kbmt KB306273 KbMtru
Отзывы и предложения