Компьютерные сети и технологии
Привет
Пользователь:

Пароль:



[ ]
[ ]

В сети
Гостей: 10
Участников: 0
На странице: 1
Участников: 3882, Новичок: ritasovurova

Разное

Служба каталогов Windows (Active Directory)
Структурированные кабельные сети
на Wednesday 15 April 2009
от список авторов
в Сети (локальные и компьютерные) > Теория построения сетей


Утилиты запросов командной строки службы каталогов

В системе присутствует несколько утилит, которые позволяют в режиме командной строки выполнить простейшие операции со службой каталогов Windows: поиск объектов по заданным критериям, добавление и удаление объектов, их перемещение и т. п. Это команды dsquery (выполняет поисковые запросы к службе каталогов), dsadd (добавляет новые объекты), dsget (отображает параметры объектов), dsmod (изменяет параметры объектов), dsmove (перемещает объекты), dsrm (удаляет объекты).
Например, с помощью команды dsquery можно легко получить список компьютеров, не работавших в сети в течение какого-либо периода времени:

dsquery computer -inactive 5
где 5 — число недель, в течение которых компьютер не входил в сеть.
Утилита csvde позволяет импортировать/экспортировать объекты в формате CSV. Этот формат удобен для последующего анализа, например, в Excel. Синтаксис команды аналогичен описываемому ниже для Ldifde. Особенность использования csvde состоит в том, что с ее помощью можно добавлять объекты, но нельзя изменять их атрибуты или удалять существующие объекты.

LDAP-управление

Служба каталогов Windows представляет собой иерархическую структуру, управление которой может осуществляться различными стандартными методами. Например, администратор может получить доступ к объектам службы каталогов с использованием сценариев на Visual Basic, применяя запросы ADO и т. п.
Поскольку служба каталогов поддерживает протокол LDAP, ставший стандартом для доступа к подобным службам, то для управления структурой домена можно применять соответствующие утилиты.
Во-первых, можно использовать оснастку ADSI Edit. С помощью этой оснастки можно подключиться к любому узлу структуры службы каталогов, увидеть его атрибуты, при необходимости отредактировать их и установить желаемые права доступа. Оснастка позволяет создавать новые объекты в структуре каталогов, удалять существующие, перемещать их и т. п.

Обратите внимание, что с помощью этой оснастки можно подключиться к любой точке структуры каталогов, а не только к элементам Domain, Configuration, Schema. Достаточно указать соответствующие параметры в меню программы.

Во-вторых, при установке Support Tools в систему добавляется утилита ldp.exe, которая позволяет подключаться к службам по протоколу LDAP, добавлять и удалять объекты, редактировать их, выполнять поиск. Утилита несколько необычна в использовании, поскольку предполагает первоначальные знания администратором структуры каталогов. При ее запуске следует выполнить подключение к службе в нужной точке (connect) и зарегистрироваться (bind).
Конечно, применять ldp.exe в случаях, когда можно, например, использовать графические оснастки, не имеет смысла. Но эта утилита позволяет выполнять операции с объектами службы каталогов с использованием синтаксиса LDAP-протокола. Например, первоначально ldp.exe являлась единственным бесплатным вариантом восстановления удаленных объектов каталога.

Синтаксис поисковых запросов LDAP

Для обозначения свойств объектов (по терминологии Microsoft) в стандартах LDAP применяется термин атрибуты.
В LDAP используются специальные конструкции для фильтров, в которых оператор ставится до самих величин. Например, если вам необходимо найти всех пользователей с фамилией Иванов, то фильтр следовало бы записать по следующей форме: (И(тип=пользователь) (фамилия=Иванов)). То есть два условия объединены требованием и, которое записано до условий.

В фильтрах допустимы операторы, перечисленные в таблице.



Если в запросе необходимо использовать символы: (, ), * и nul, то они должны быть записаны через escape-последовательность так, как указано в следующей таблице:



Аналогично через escape-последовательность записываются двоичные данные с разбиением по два байта

Определенную сложность при первых обращениях к операциям поиска вызывает знание необходимого атрибута, который должен быть использован в операции. Можно порекомендовать просмотреть все атрибуты объекта этого же типа, выбрать нужное свойство и использовать его в запросе. Это можно сделать и в самой программе Idp.exe, если включить отображение вывода в результате поиска всех атрибутов. Для этого следует открыть окно поиска, нажать кнопку Option и в строку перечня атрибутов ввести звездочку (*).

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

Покажем на небольшом примере, как можно быстро найти пользователя по второму почтовому адресу.
Дополнительные адреса электронной почты, которые присвоены пользователю, перечисляются в атрибуте proxyaddresses. Дополним перечень отображаемых атрибутов этим значением (допишем его в строку Attributes после точки с запятой) и снимем флажок в параметре Attributes, чтобы программа поиска вывела на экран значения атрибутов. Установим в окне настройки фильтра поиска в качестве начальной точки имя нашего домена, а критерием поиска выберем следующую строку:
(&((objectclass=user)<proxyaddresses=*адрес*)))


Она означает, что мы хотим искать только пользователей, у которых один из адресов электронной почты содержит символы адрес (в любом месте адреса). Выберем зону поиска по всей базе (SubTree). Выполнив поиск, мы получим на экране необходимые сведения.

Команда Idifde

Большая часть системных администраторов предпочитает использовать для конфигурирования серверов текстовые файлы, поскольку с ними удобнее работать, чем с двоичной информацией. Для каталогов существует стандарт LDIF, который определяет правила представления данных каталога в текстовом файле.
LDIF-файл представляет собой текстовые строки, в которых приведены атрибуты объектов, их значения и директивы, описывающие способы обработки этой информации. В Windows имеется утилита idifde, которая выполняет такое преобразование данных из службы каталогов, используемой в Windows, в текст и обратно. Ключи утилиты позволяют уточнить точку подключения, глубину выборки, указать фильтры операции и т. п.
На эту утилиту обычно обращается мало внимания, хотя она может существенно упростить многие административные задачи.
Предположим, что вам необходимо откорректировать параметры пользовательских учетных записей, например, указать для всех работников некоторого подразделения в свойствах учетных записей название их отдела. Выполнение операции "в лоб"— последовательное открытие учетных записей и вставка нужного описания в соответствующее поле— весьма трудоемко и нерационально при значительном числе сотрудников.
С помощью же данной утилиты можно выполнить экспорт в текстовый файл параметров учетных записей пользователей только для заданного подразделения (установив фильтр по данному OU), после чего с помощью обычного текстового редактора одной операцией поиска и замены откорректировать значения нужных атрибутов. В завершение достаточно выполнить импорт полученного файла. В результате атрибуты для всех записей будут откорректированы практически за несколько шагов.
Такая операция также весьма просто выполняется с помощью сценария Visual Basic. Достаточно подключиться к нужному контейнеру, установить фильтр для выборки только объектов типа "пользователь" и запустить цикл для каждого элемента данного типа в этом контейнере. Однако приведенная схема не требует от администратора знания сценариев и может быть выполнена буквально в течение нескольких минут.

Выше мы приводили пример, как с помощью команды dsquery получить список компьютеров, длительное время не работавших в составе сети. Приведем второй способ, как можно получить в файл такой список с помощью команды idifde:

Idifde -f <имя_файла>. txt -n -d "dс=<имя_домена>,dc=ru" -r "(&(objectcategory=computer)(| (lastlogon<=127296891259257277)<!lastlogon=* )))" -p SubTree -1 lastlogon


В фильтре использовано представление даты в машинном формате. Такие значения легко можно получить при помощи простых операций, например:
Dim Timel As System. DateTime = System.DateTime.Now( ) .AddMonths(-2) Dim FileTimel = Timel. ToFileTime

Переменная FileTimel будет иметь значение, соответствующее дате двухмесячной давности. Фильтр также выводит имена компьютеров, для которых отсутствует значение параметра времени входа в систему.
Представленный пример несколько искусственен, поскольку результат может быть получен более простым способом. Но привели его именно для того, чтобы проиллюстрировать существование различных возможных вариантов действий администраторов.



Поиск Компьютерные сети и технологии

Copyright © 2006 - 2020
При использовании материалов сайта ссылка на xnets.ru обязательна!