Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Внизкак добавить пользователя в группу Найти похожие ветки
← →
_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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c