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


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


Подпрограммы для создания и удаления учетных записей в Windows NT/2000

Процесс создания и удаления учетных записей в Windows NT/2000 несколько проще, чем в Unix, поскольку стандартные вызовы API для этой операции существуют в NT. Как и в Unix, мы могли бы вызвать внешнюю программу, чтобы выполнить подобную работу (например, вездесущую команду net с ключом USERS/ADD), но проще использовать API-вызовы из многочисленных модулей, о некоторых из которых мы уже говорили. Функции для создания учетных записей есть, например, в Win32::NetAdmin, Win32: :UserAdmin, Win32API::Net и Win32::Lanman. Пользователям Windows 2000 лучше ознакомиться с материалом по ADSI в главе 6.

Выбор одного из этих модулей, в основном, дело вкуса. Чтобы разобраться в отличиях между ними, рассмотрим существующие вызовы для создания пользователей. Эти вызовы описаны в документации Network Management SDK на

http://msdn.microsoft. com (если вы ничего не можете найти, поищите «NetUserAdd»). NetllserAdd() и другие вызовы принимают в качестве параметра информационный уровень данных. Например, если информационный уровень равен 1, структура данных на С, передаваемая вызову для создания пользователя, выглядит так:

typedef struct JJSER_INFO_1 {

LPWSTR usri1_name;

LPWSTR usri1_oassworc';

DWORD usril_passwora_age:

DWORD usril_oriv:

LPWSTR usril_home_dir;

LPWSTR usri1_comment;

DWORD usri1_flags:

LPWSTR usri1_script_pat!i:

 }

Если используется информационный уровень, равный 2, структура значительно расширится:

typedef struct _UbER_INrG;

LPWSTR

usn2_name;

LPWSTP

lisri? password:

DWORD

usri2_password_age:

DWORD

usn2_priv:

LPWSTR

Lisri2_home_dir;

LPWSTR

usri2_conwient :

DWORD

usri2_flags;

LPWSTR

usri2_scnpt_path;

DWORD

usri2_auth_f lags;

LPWSTR

usri2_fiJll_name:

LPWSTR

usri2_usr_comment;

LPWSTR

usri2_parms:

LPWSTR

usri2_workstations:

DWORD

usri2_last_logon;

DWORD

usn2_last_logoff ;

DWORD

usri2_acct_expires;

DWORD

usri2_max_storage;

DWORD

usri2_units_per_week;

PBYTE

usri2_logon_hours;

DWORD

usri2_bad_pw^count;

DWORD

usri2_num_logons;

LPWSTR

usri2_logon_server;

DWORD

usri2_country_code;

DWORD

usri2_code_page;

<


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



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