![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавить пользователя в вин 2000 средствами делфи [Win2k]
bgs © (2004-10-04 18:48:00)сабж. желательно использование апи функций.
если можно, поподробнее.
заранее спасибо. ;)
Дмитрий Ботвин (2004-10-05 08:08:00) [1]procedure TForm2.AddUserClick(Sender: TObject);
var buf: Pointer;
UserInfo: TAddUserInfo;
error: NET_API_STATUS;
parm_err: DWORD;
HostName,User_Name,Passw: WideString;
begin
HostName:=WideString('\\'+Trim(Form1.CompName.Text));
User_Name:=WideString(Trim(UserName.Text));
Passw:=WideString(Trim(Password.Text));
UserInfo.usri1_name:=PWideChar(User_Name);
UserInfo.usri1_password:=PWideChar(Passw);
UserInfo.usri1_password_age:=0;
UserInfo.usri1_priv:=USER_PRIV_USER;
UserInfo.usri1_home_dir:='';
UserInfo.usri1_comment:=PWideChar(WideString('Создан программой NetAdmin'));
UserInfo.usri1_flags:=UF_SCRIPT or
UF_DONT_EXPIRE_PASSWD or
UF_NORMAL_ACCOUNT or
UF_PASSWD_CANT_CHANGE;
UserInfo.usri1_script_path:='';
buf:=@UserInfo;
error:=NetUserAdd(PWideChar(HostName),1,buf,parm_err);
case error of
ERROR_ACCESS_DENIED: Application.MessageBox('Пользователю недостаточно прав для выполнения функции!',
'Ошибка',MB_OK+MB_ICONSTOP);
NERR_InvalidComputer: Application.MessageBox('Неверное имя компьютера!',
'Ошибка',MB_OK+MB_ICONSTOP);
NERR_NotPrimary: Application.MessageBox('Операция разрешена только для главного контроллера домена!',
'Ошибка',MB_OK+MB_ICONSTOP);
NERR_GroupExists: Application.MessageBox('Группа пользователей уже существует!',
'Ошибка',MB_OK+MB_ICONSTOP);
NERR_UserExists: Application.MessageBox('Пользователь уже существует!',
'Ошибка',MB_OK+MB_ICONSTOP);
NERR_PasswordTooShort: Application.MessageBox('Слишком короткий пароль!',
'Ошибка',MB_OK+MB_ICONSTOP);
else
Users.Items.Add(Trim(UserName.Text));
end;
end;
Cobalt (2004-10-05 00:26:00) [2]NetUserAdd + F1 + www.google.com