Perl для системного администрирования



Создание системы учетных записей для работы с пользователями - часть 22


/p>

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

Какое это имеет отношение к Perl? Каждый упомянутый модуль требует принять два решения:

  • Нужно ли объяснять программистам на Perl, что такое «информационный уровень»?
  • Какой информационный уровень (т. е. сколько параметров) может использовать программист?
  • Модули Win32API: :Net и Win32: :UserAdmin позволяют программисту выбрать информационный уровень. Win32; : NetAdmin и Win32: : Lanrnan этого не делают. Из всех этих модулей Win32; :NetAdmin применяет наименьшее число параметров; в частности, вы не можете определить поле на этапе создания пользователя. Если вы решите применять модуль Win32; :NetAcmin, вам, скорее всего, придется дополнить его вызовами из другого модуля, чтобы установить те параметры, которые он устанавливать не позволяет. Если вы остановитесь на комбинации Win32 : : NetAarn.in и Win32 : : AaminMisc, вам стоит обратиться к многократно упомянутой книге Рота, поскольку это отличный справочник по модулю Win32: : NetAdmin, по которому нет достаточного количества документации.

    Теперь читателю должно быть понятно, почему выбор модуля - это де ло личных предпочтений. Хорошей стратегией было бы сначала решить, какие параметры важны для вас, а затем найти модуль, который их поддерживает. Для наших демонстрационных подпрограмм мы выбираем модуль Win32: : Lanman. Вот какой код можно применить для создания и удаления пользователей в нашей системе учетных записей:

    use Win32: :Lanman; tt для создания учетной записи

    use Win32::Perms; # для установки прав на домашний каталог

    $homeNTdirs = "\\\\homeserver\\home"; # корневой каталог

    # домашних каталогов

    sub CreateNTAccount{

    my ($account,$record) = @_;

    П создаем учетную запись на локальной машине

    # (т. е., первый параметр пустой)

    $result = Win32::Lanman::NetUserAdd("",




    Содержание  Назад  Вперед