사람이 내가 (프로그래밍 방식) 어떤 기능/정보/코드가 환영는
(파워 유저, 백업 opetarors 같은) 그룹에 현재/선택한 사용자를 추가하는 방법을 말해 줄 수 그룹에 현재/선택한 사용자를 추가
사람이 내가 (프로그래밍 방식) 어떤 기능/정보/코드가 환영는
(파워 유저, 백업 opetarors 같은) 그룹에 현재/선택한 사용자를 추가하는 방법을 말해 줄 수 그룹에 현재/선택한 사용자를 추가
자, 로컬 그룹에 사용자를 추가하기 만하면 NetLocalGroupAddMembers API가 필요합니다 (어쨌든 C에서 그렇게하는 것). 간단한 예를 들어
:
LOCALGROUP_MEMBERS_INFO_3 member[1];
// Add using fully qualified name, could also use SID with LOCALGROUP_MEMBERS_INFO_0
member[0].lgrmi3_domainandname = L"MAIN\\username";
status = NetLocalGroupAddMembers(NULL, L"Power Users", 3, (LPBYTE)member, 1);
그룹 이름이 같은 것을 사용하여 프로그래밍 방식으로 확인할 수있는 시스템 그룹의 단지 텍스트 이름입니다
PLOCALGROUP_INFO_0 groups = NULL;
DWORD dwCount = 0;
DWORD dwTotalCount = 0;
NET_API_STATUS status = NetLocalGroupEnum(NULL, 0, (LPBYTE*)&groups, MAX_PREFERRED_LENGTH, &dwCount, &dwTotalCount, NULL);
if(status == NERR_Success)
{
for(DWORD i = 0; i < dwCount; i++)
{
printf("%ls\n", groups[i].lgrpi0_name);
}
NetApiBufferFree(groups);
}
else
{
printf("Error %d\n", status);
}
이 글로벌 그룹에 추가를 대신 NetGroupAddUser API를 사용해야합니다.
Windows API에서 NetLocalGroupAddMembers 함수를 사용할 수 있습니다.
JEDI API Library에는 Lan Manager Access API interface Unit이 포함되어 있습니다.
여기 당신에게 Jedi JCL
program Delphi_AdduserToGroup;
{$APPTYPE CONSOLE}
uses
Windows,
JclWin32,
SysUtils;
Procedure AddUsertoGroup(aUser,aGroup:PWideChar);
var
GroupMembersInfo : PLocalGroupMembersInfo3;
ResInt : Integer;
begin
GetMem(GroupMembersInfo,sizeof(TLocalGroupMembersInfo3));
try
//Writeln(aUser+'->'+aGroup);
GroupMembersInfo^.lgrmi3_domainandname :=aUser;
ResInt:=NetLocalGroupAddMembers(nil,aGroup,3,pointer(GroupMembersInfo),1);
case ResInt of
NERR_Success : Writeln('User added to group '+aGroup);
ERROR_ACCESS_DENIED : Writeln('The user does not have access to the requested information.');
ERROR_NO_SUCH_MEMBER : Writeln('One or more of the members specified do not exist. Therefore, no new members were added.');
ERROR_MEMBER_IN_ALIAS: Writeln('One or more of the members specified were already members of the local group. No new members were added.');
ERROR_INVALID_MEMBER : Writeln('One or more of the members cannot be added because their account type is invalid. No new members were added.');
else
Writeln('Error '+IntToStr(ResInt));
end;
finally
FreeMem(GroupMembersInfo);
end;
end;
begin
try
AddUsertoGroup('myuser','Administrators');
Readln;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
안녕을 사용하는 예.