2010-01-16 7 views
1

Donc je pense que j'ai presque compris. Je crée mon compte factice avec une fonction et écrit une deuxième fonction pour l'ajouter au groupe Bureau à distance. Le problème est, le compte Administrateur est celui connecté, donc je ne suis pas sûr de savoir comment spécifier le compte à ajouter au groupe. Voici mon code ...Aide en utilisant NetuserAdd() et NetLocalGroupAddMembers() en C++

L'utilisateur est créé correctement ...

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); 
} 

Mais je ne sais pas comment spécifier pour les ajouter à ce groupe car ils ne sont pas connectés. Toute aide être apprécié

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); 
} 
+0

Désolé, je n'ai jamais utilisé StackOverflow auparavant, et il ne semblait pas utiliser le même processus que les forums habituels. Cela ressemblait plus à poser une question, obtenir une réponse, puis poster une nouvelle question. Merci pour l'information! –

Répondre

0

Sans vouloir vous offenser, vous ne semblez pas du tout savoir ce que vous faites du code. Vous n'ajoutez pas l'utilisateur actuel au groupe cible. vous ajoutez l'utilisateur que vous venez de créer à droite? Alors pourquoi appelez-vous GetUserNameEx? Il suffit d'utiliser le nom du nouvel utilisateur:

lgmi3.lgrmi3_domainandname = L"BrettXFactor"; 
+0

Je me suis mis à travailler, votre droite, j'ai été confus hors de mon crâne. J'essayais d'utiliser GetUserNameEx pour obtenir le domaine auquel ils appartenaient, mais quelqu'un a mentionné que depuis que je l'ai créé, ils étaient dans le domaine local. Merci pour l'aide! –