Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.038 c
3-1079300757
ST
2004-03-15 00:45
2004.04.11
Rave


6-1076049111
Антоний
2004-02-06 09:31
2004.04.11
Firewall


3-1081423918
Igorok
2004-04-08 15:31
2004.04.11
Опять иконки


8-1076485955
Layner
2004-02-11 10:52
2004.04.11
Как очистить Image?


6-1076327014
Behemoth
2004-02-09 14:43
2004.04.11
Проблема с IdTCPServer....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский