Управление Active Directory #1: инструменты командной строки DS
Управление Active Directory – не просто работа, а целое искусство, требующее, помимо академических знаний об ее архитектуре, навыки проектирования согласно бизнес-требованиям организации в ИТ-инфраструктуре и умения автоматизировать рутинные операции с целью минимизации допущения ошибок.
В рамках данного поста я рассмотрю управление объектами AD из командной строки.
В Windows Server 2008 существуют следующие инструменты командной строки для управления AD:
— Dsadd – создание объекта в каталоге;
— Dsget – возврат указанных атрибутов объекта;
— Dsmod – модификация указанных атрибутов объекта;
— Dsmove – перемещение объекта;
— Dsrm – удаление объекта и его дочерних объектов;
— Dsquery – выполнение запроса на основе параметров и возврат списков объектов с такими параметрами.
Большинство команд DS имеют 2 модификатора: тип и имя DN объектов. К примеру, для создания учетной записи пользователя Ivan Ivanov в подразделении Finances, используется команда:
В данном случае модификатор user указывает на тип создаваемого объекта (User, он же Пользователь), имя DN – Ivan Ivanov. Так как имя пользователя содержит пробел, то имя DN целиком заключается в кавычки.
Для выполнения манипуляций с атрибутами объектов используются Dsquery, Dsget и Dsmod. Например, отыщем всех пользователей AD, имя которых начинается с Ivan:
Dsquery возвратила нам имя DN объекта Ivan Ivanov.
Модифицируем ему атрибут Office, содержащий номер кабинета, в котором сидит сотрудник:
Заполненные атрибуты объектов AD могут существенно упростить управление AD, послужив критериями поиска объектов и их модификации. Команды DS поддерживают конвейеризацию входных данных. Это позволяет использовать результаты выполнения Dsquery или Dsget в качестве входных данных.
Чтобы стало понятнее, я приведу пример.
Скажем, вы управляете территориально-распределенным доменом с большим количеством филиалов. Для создания списков рассылки, отдел кадров просит вас предоставить им адреса электронной почты всех сотрудников, например, тамбовского и воронежского филиалов. Сбор такой информации вручную может занять довольно много времени, да и мало кого вдохновит. Но если при создании учетных записей пользователей в AD тамбовские и воронежские администраторы сразу же заполняли атрибуты объектов пользователей, то это будет для вас пустяковым делом на одну минуту.
Я не стал заполнять лабораторную среду большим количеством объектов и их атрибутами, чтобы можно было выполнять поиск с такими условиями. Однако, запросить для примера номера кабинетов, в которых сидят пользователи с именем Ivan, в ней можно:
Все просто, не правда ли?
Для закрепления материала, рассмотрим мини-сценарий:
1. Просмотрим список учетных записей пользователей, имена которых начинаются с Ivan;
2. создадим новый OU под названием Tr;
3. перенесем учетную запись пользователя Ivan Ivanov в OU Tr;
4. удалим OU Tr вместе со всеми дочерними объектами;
5. Еще раз просмотрим список учетных записей пользователей, имена которых начинаюся с Ivan.
Я создал в корне диска сценарий командной строки scenario.cmd следующего содержания:
dsadd ou "ou=Tr,dc=contoso,dc=com"
dsquery user -name "Ivan Ivanov" | dsmove -newparent "ou=Tr,dc=contoso,dc=com"
dsrm -subtree -noprompt -c ou=Tr,dc=contoso,dc=com
dsquery user -name Ivan*
Его выполнение происходило так:
Как видите, выполнение шага 5 выдало пустой результат. Это значит, что сценарий отработал верно.
Таким образом мы убедились в том, что управление объектами AD может быть довольно простым занятием, а инструменты командной строки позволяют не только успешно решать административные задачи, но и максимально автоматизировать их.