Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11639
Последний выпуск: 19.06.2015

Работа с доменами Windows NT

Tower
Посвящается моей жене - Наташеньке

Эта статья посвящена работе с доменами Windows NT. На первый взгляд кажется, что вполне можно обойтись стандартными средствами администрирования, которые существуют в операционной системе, но существует рад задач,

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

В этой статье мы рассмотрим создание и удаление группы в домене, создание и удаление пользователя, добавление и удаление пользователя из группы. Все будет рассматриваться на примерах, поэтому определимся с некоторыми начальными условиями. Домен, с которым мы будем работать, называется "Test". Группа, с которой мы будем работать - "TestGroup".

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

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

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

Dim domain As IADsDomain 'Объявляем переменную типа домена
Dim grp As IADsGroup 'Объявляем переменную типа группа

Set domain = GetObject("WinNT://Test") ' Получаем объект домена 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, которая возвращает логическое значение "да" и "нет", смысл которого понятен и без объяснения. Что мы узнали из этой статьи? Мы узнали о том, как работать с доменом. Немного, но достаточно для того, чтобы найти массу полезных применений. Например, если немного подумать, то можно без проблем узнать, сколько пользователей зарегистрировано в домене.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог