Вниз
Скачать: CL | DM;

как добавить пользователя в группу   Найти похожие ветки 

← →
_hunter_ ©   (2004-01-29 17:32) [0]

Здравствуйте. Как можно добавить пользователя в какую нибудь группу например "администраторы"?
Создать пользователя функцие NetUserAdd получается. А вот добавить его в группу (например администраторы) что-то ни как... возвращает код ошибки NERR_GroupExists. Что я делаю не так?

procedure TForm1.AddUserToGroupClick(Sender: TObject);
var
ServName:PWideChar;
UserName: PWideChar;
buf: GROUP_USERS_INFO_0;
nStatus: integer;
begin
ServName:="server";
UserName:=PWideChar(WideString(Form1.Edit1.Text));

//  NetApiBufferAllocate(1000,pointer(buf));
buf.grui0_name:="Administrators";
nStatus:=NetUserSetGroups(ServName,UserName,0,@buf,1);
//  NetApiBufferFree(@buf);
case nStatus of
  NERR_Success         : ShowMessage("Success");
  ERROR_ACCESS_DENIED  : ShowMessage("ACCESS DENIED");
  NERR_InvalidComputer : ShowMessage("Invalid computer");
  NERR_NotPrimary      : ShowMessage("Not primary");
  NERR_GroupNotFound   : ShowMessage("Group not found");
  NERR_UserNotFound    : ShowMessage("User not found");
else
  ShowMessage(IntToStr(nStatus));
end;
end;


← →
AndersoNRules ©   (2004-01-29 22:08) [1]

A kakiye uniti ti zdesi ispolizueshi ?


← →
_hunter_ ©   (2004-01-30 05:47) [2]

JwaLmAccess, JwaLmErr, JwaLm, JwaWinNT

а можно и так:

function NetUserSetGroups; external netapi32lib name "NetUserSetGroups";

NERR_Success = 0;
ERROR_ACCESS_DENIED = 5;
NERR_BASE = 2100;
NERR_InvalidComputer    = (NERR_BASE+251);
NERR_NotPrimary          = (NERR_BASE+126);
NERR_GroupNotFound       = (NERR_BASE+120);
NERR_UserNotFound        = (NERR_BASE+121);

_GROUP_USERS_INFO_0 = record
 grui0_name: LPWSTR;
end;

GROUP_USERS_INFO_0 = _GROUP_USERS_INFO_0;


← →
clickmaker ©   (2004-01-30 12:53) [3]

А винда не русская часом? Тогда название группы по-другому звучит. Для универсальности лучше получать SID встроенной группы с помощью AllocateAndInitializeSid, а потом уже LookupAccountSid, чтобы имя группы узнать


← →
_hunter_ ©   (2004-01-30 15:06) [4]

да нет не русская... в том то и дело...


← →
clickmaker ©   (2004-01-30 16:23) [5]

buf.grui0_name д.б. PWideChar


← →
_hunter_ ©   (2004-02-02 07:42) [6]

всмысле так?
buf.grui0_name:=PWideChar(WideString("Administrators"));
не помогает...
может быть имя группы надо писать не так?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
11-1059566887
_Polymorphic_
2003-07-30 16:08
2004.04.11
KOLmdvXLGrid на скроллбоксе


1-1082896015
Frozzen
2004-04-25 16:26
2004.04.11
CRC32 - понимаш


1-1079877830
sagsoft
2004-03-21 17:03
2004.04.11
при закрытии проги вылазиет ошибка


1-1079957412
Vadim S_
2004-03-22 15:10
2004.04.11
.NET FAQ Delphi 7.0/8.0


1-1079954907
K.A.T.
2004-03-22 14:28
2004.04.11
Ошибка в процедуре




   Наверх