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

Переводы статьи Переводы статьи
Код статьи: 306273 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

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

Требования

  • Microsoft Windows XP, Windows 2000 или Windows NT 4.0
  • Visual C#

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

  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. Дважды щелкните значок Учетные записи пользователей. Новой учетной записи пользователя должны появиться в Учетные записи пользователей диалоговое окно.
    ВАЖНОЕ ЗАМЕЧАНИЕ: Удалите вновь созданную учетную запись пользователя из системы после завершения тестирования.

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

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

При создании записи каталога в этом примере предполагается, что системы под управлением 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()});}
				

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

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

Свойства

Код статьи: 306273 - Последний отзыв: 6 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
Ключевые слова: 
kbhowtomaster kbmt KB306273 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:306273

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com