Так что я думаю, что почти понял. Я создаю свою фиктивную учетную запись с одной функцией и написал вторую функцию, чтобы добавить ее в группу удаленных рабочих столов. Проблема в том, что вошла учетная запись администратора, поэтому я не уверен, как указать, какую учетную запись добавить в группу. Вот мой код ...
Пользователь создается правильно ...
void AddRDPUser()
{
USER_INFO_1 ui;
DWORD dwLevel = 1;
DWORD dwError = 0;
NET_API_STATUS nStatus;
ui.usri1_name = L"BrettXFactor";
ui.usri1_password = L"XfactorsServer96";
ui.usri1_priv = USER_PRIV_USER;
ui.usri1_home_dir = NULL;
ui.usri1_comment = NULL;
ui.usri1_flags = UF_SCRIPT;
ui.usri1_script_path = NULL;
nStatus = NetUserAdd(NULL, dwLevel, (LPBYTE)&ui, &dwError);
}
Но я не знаю, как указать, чтобы добавить их в эту группу, поскольку они не вошли в систему. Любая помощь будет оценена
void AddToGroup()
{
LOCALGROUP_MEMBERS_INFO_3 lgmi3;
DWORD dwLevel = 3;
DWORD totalEntries = 1;
NET_API_STATUS nStatus;
LPCWSTR TargetGroup = L"Remote Desktop Users";
LPSTR sBuffer = NULL;
memset(sBuffer, 0, 255);
DWORD nBuffSize = sizeof(sBuffer);
if(GetUserNameEx(NameDnsDomain, sBuffer, &nBuffSize)==0)
{
Msg("Failed to add User to Group\n");
return;
}
LPWSTR user_name = (LPWSTR)sBuffer;
lgmi3.lgrmi3_domainandname = user_name;
nStatus = NetLocalGroupAddMembers(NULL, TargetGroup, 3,
(LPBYTE)&lgmi3, totalEntries);
}