Большая часть системных администраторов предпочитает использовать для конфигурирования серверов текстовые файлы, поскольку с ними удобнее работать, чем с двоичной информацией. Для каталогов существует стандарт LDIF (LDAP Interchange Format, определен в документе RFC 2849), который определяет правила представления данных каталога в текстовом файле.

LDIF-файл представляет собой текстовые строки, в которых приведены атрибуты объектов, их значения и директивы, описывающие способы обработки этой информации. В Windows имеется утилита ldifde (запускаемая одноименной командой), которая выполняет такое преобразование данных из службы каталогов, используемой в Windows, в текст и обратно. Ключи утилиты позволяют уточнить точку подключения, глубину выборки, указать фильтры операции и т. п.

На эту утилиту обычно обращается мало внимания, хотя она может существенно упростить многие административные задачи. Обычно с помощью ldif-файлов выполняется модификация схемы каталога при установке новых приложений.

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

С помощью же данной утилиты можно выполнить экспорт в текстовый файл параметров учетных записей пользователей только для заданного подразделения (уста новив фильтр по данному OU), после чего с помощью обычного текстового редактора одной операцией поиска и замены откорректировать значения нужных атрибутов. В завершение достаточно выполнить импорт полученного файла. В результате атрибуты для всех записей будут откорректированы практически за несколько шагов.

Примечание Такая операция также весьма просто выполняется с помощью сценария Visual Basic. Достаточно подключиться к нужному контейнеру, установить фильтр для выборки только объектов типа "пользователь" и запустить цикл для каждого элемента данного типа в этом контейнере. Однако приведенная схема не требует от администратора знания сценариев и может быть выполнена буквально в течение нескольких минут.

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

ldifde -f <btMH_$>atijia>.txt -n -d "dc=<имя_домена>,dc=ru'' -r

"(&(objectcategory=computer) (| (lastlogon<=127296891259257277) (!lastlogon=*)))" -p SubTree -l lastlogon

В фильтре использовано представление даты в машинном формате. Такие значения легко можно получить при помощи простых операций, например:

Dim Time1 As System.DateTime = System.DateTime.Now().AddMonths(-2)

Dim FileTime1 = Time1.ToFileTime

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

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

Синтаксис поисковых запросов ldap | Самоучитель системного администратора | Делегирование прав


Самоучитель системного администратора



Новости за месяц

  • Сентябрь
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс