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


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


$group->{name}."...";

print(Win32::Lanman::NetLocalGroupDelMember("",

$group->{name}, ${$info[0]}{sid})?

"succeeded\n" : "FAILED\n"); }

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

(т. е., перый параметр пустой) Sresult = Win32::Lanman::NetUserDel("", Saccount);

return Win32::Lanman::GetLastError() if ($result);

удалить домашний каталог и его содержимое

Sresult = rmtree("$homeNTdirs\\$account",0,1);

rmtree возвращает число удаленных файлов, так что если мы

удалили более нуля элементов, то скорее всего все прошло 8 успешно return Sresult;

}

Заметьте, для удаления домашнего каталога здесь используется переносимый модуль File: :Path. Если бы мы хотели сделать что-то специфичное для Win32, например, переместить домашний каталог в корзину, то могли бы сделать это при помощи модуля Win32: :File Op Йенды Крыники (Jenda Krynicky), который можно найти на http://jen da.krynicky.cz/. В таком случае мы применили бы Wi n32: ; F: 1еОр и изменили бы строку, включающую rmtrc-e(), на:

# удалим каталог в корзину, потенциально подтверждая

# действие пользователем, если для этой учетной записи

# необходимо подтверждать такие операции

$result = Recycle("$homeNTdirs\\$account");

В данном модуле есть функция Delete(), которая выполняет то же, что и rmtree() менее переносимым (правда, более быстрым) способом.

Сценарии

Теперь, когда мы разобрались с базой данных, самое время написать сценарии для выполнения периодических или каждодневных действий, необходимых при системном администрировании. Эти сценарии построены на низкоуровневой библиотеке компонентов (Account.pm), которую мы создали, объединив в один файл все только что написанные подпрограммы. Такая подпрограмма позволяет убедиться, что все необходимые модули загружены:

sub InitAccountf

use XML: :Writer;

Srecord = { fields => [login, fullname,id,type,password]};

$addqueue = "addqueue"; tt имя файла очереди добавления




- Начало -  - Назад -  - Вперед -



Книжный магазин