Вниз
Скачать: 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.956 c
9-1065042709
Balepa
2003-10-02 01:11
2004.04.11
Установка DelphiX (Delphi 7)


3-1081963079
tERRORist
2004-04-14 21:17
2004.04.11
Обновление данных на SQL-сервере из Access-базы


14-1079127758
TButton
2004-03-13 00:42
2004.04.11
Black and White


14-1080850933
VMcL
2004-04-02 00:22
2004.04.11
Ваши оценки


14-1082118947
Bel
2004-04-16 16:35
2004.04.11
Эксперимент с координацией.




   Наверх