On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Администрирование доменов в Windows NT

Cтатья посвящена работе с доменами Windows NT. На первый взгляд кажется, что вполне можно обойтись стандартными средствами администрирования, которые существуют в операционной системе, но существует рад задач, в которых необходимо автоматизировать создание и удаление групп пользователей, самих пользователей и включение пользователей в группы. В своей практике, я столкнулся с проблемой написания программы, которая обрабатывает лог MSProxy, а пользователям, превысившим лимит использования интернет, выход закрывается. Для этого необходимо было просто удалить пользователей из определенной группы. В начале следующего месяца необходимо вернуть всех пользователей интернет в группу доступа. Вот при создании такой программы я и начал изучение функций работы с доменной организацией Windows NT.

В статье мы рассмотрим создание и удаление группы в домене, создание и удаление пользователя, добавление и удаление пользователя из группы. Все будет рассматриваться на примерах, поэтому определимся с некоторыми начальными условиями. Домен, с которым мы будем работать, называется "Test". Группа, с которой мы будем работать - "TestGroup". Пользователь - "TestUser". Для того чтобы было проще работать с проектом, входим в меню References и подключаем Active DS Type Library. Итак, начинаем работать.

Создание и удаление группы


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

Dim domain As IADsDomain 'Объявляем переменную типа домена
Dim grp As IADsGroup 'Объявляем переменную типа группа
    
' Получаем объект домена Test
Set domain = GetObject("WinNT://Test")

'Создаем новую группу пользователей
Set grp = domain.Create("group", "TestGroup")

' Устанавливаем свойство типа группы.
grp.Put "groupType", ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP

' Пишем описание группы
grp.Put "Description", "Группа для примера работы с доменом"
' Сохраняем информацию
grp.SetInfo

'Удаляем группу из домена.
domain.Delete "group", "groupType"

Вот и все. Создать группу и удалить чрезвычайно просто.

Создание и удаление пользователей


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

Dim domain As IADsDomain
Dim usr As IADsUser 'Объявляем переменную типа пользователь
    
Set domain = GetObject("WinNT://Test")

' Создаем нового пользователя
Set usr = domain.Create("user", "TestUser")

' Сохраняем информацию о пользователе
usr.SetInfo
    
domain.Delete "user", "TestUser" ' Удаляем пользователя
Результатом этих действий будет создание нового пользователя с именем TestUser. Он будет иметь еще некоторые атрибуты, а именно:
  • Full Name будет TestUser
  • Пароль будет пустым
  • Будет установлено свойство сменить пароль при первом входе
  • Password Never Expires будет установлено в FALSE
  • Пользователь будет включен только в одну группу - Domain User

Приведу несколько примеров установки атрибутов пользователя, так как стандартные установки не всегда хороши. Итак,

' Установка описания для пользователя
usr.Put "Description", "Тестовый пользователь"

' Без комментариев, как говориться
usr.Put "EmailAddress", "test@test.com"

' Полное имя пользователя
usr.Put "FullName", "Test User"

' Заблокировать пользователя
usr.Put "AccountDisabled", 1

Вот и все, что можно установить с помощью Put, но если вы внимательно читали статью, то уже начинаете меня ругать. Почему? Действительно я не описал возможность установить пароль для пользователя. С помощью метода Put это сделать невозможно, поэтому существует специальный метод SetPassword. А вот и пример использования

usr.SetPassword "blablabla"

На этом знакомство с заведением и удалением пользователя мы закончим и рассмотрим последнюю тему статьи - включение и исключение пользователя из групп.

Управление пользователями группы


Для того чтобы добавить пользователя в группу необходимо воспользоваться следующим методом:
grp.Add ("WinNT://Test/TestUser")

Удаление осуществляется с помощью grp. Remove ("WinNT://Test/TestUser").
grp - объект группы в домене NT.

Вот и все. Осталось сказать несколько заключительных слов. Определить, входит пользователь в группу или нет, можно с помощью функции IsMember, которая возвращает логическое значение "да" и "нет", смысл которого понятен и без объяснения.

Заключение


Что мы узнали из этой статьи? Мы узнали о том, как работать с доменом. Немного, но достаточно для того, чтобы найти массу полезных применений. Например, если немного подумать, то можно без проблем узнать, сколько пользователей зарегистрировано в домене.



Литература по Windows NT