LISTER LES USERS ET LES PERMISSIONS DES DOSSIERS PARTAGÉS D'UN ORDI RÉSEAU (OU P

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 - 15 déc. 2003 à 11:30
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 - 28 déc. 2003 à 21:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18719-lister-les-users-et-les-permissions-des-dossiers-partages-d-un-ordi-reseau-ou-pas

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
28 déc. 2003 à 21:13
??? Pas compris????
cs_freax Messages postés 32 Date d'inscription vendredi 29 novembre 2002 Statut Membre Dernière intervention 27 avril 2005
28 déc. 2003 à 03:05
bhen la aussi ;=)
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
15 déc. 2003 à 11:30
J'ai oublie... Voici un exple pour l'utiliser avec les <> valeurs du ACCESS_MASK

// ajouter une list avec variable -> m_oListInfo et un bouton Perm

void CTestSystemToolsDlg::Display (CString p_oError)
{
m_oListInfo.AddString (p_oError);
m_oListInfo.SetTopIndex (m_oListInfo.GetCount() - 10);
m_oListInfo.UpdateWindow ();
}

void CTestSystemToolsDlg::OnBTNPerm()
{
DWORD Res;
CString l_oStr;
STL_SHARE_INFO l_oArray[30];
int i=0, Index = 0, Entries, maxEntries;
char Sep[20] = "___________________";


Res = RetrieveNetShareEnum (NULL, 30, &Index, l_oArray);
for (i=0; i<Index; i++)
{
l_oStr.Format("Folder : %s", l_oArray[i].cNetname);
Display(l_oStr);
l_oStr.Format("Path : %s", l_oArray[i].cPath);
Display(l_oStr);
l_oStr.Format("**** REMARQUES **** : %s", l_oArray[i].cRemark);
Display(l_oStr);
maxEntries = l_oArray[i].iTotalUserRights;
for (Entries = 0; Entries < maxEntries; Entries ++)
{
l_oStr.Format(" User : %s", l_oArray[i].aEnumUserRights[Entries].cUserName);
Display(l_oStr);
l_oStr.Format(" AccessMask : %lx", l_oArray[i].aEnumUserRights[Entries].AccessRights);
Display(l_oStr);


if (l_oArray[i].aEnumUserRights[Entries].AccessRights & SPECIFIC_RIGHTS_ALL)
{
l_oStr.Format(" %s", "SPECIFIC_RIGHTS_ALL");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & STANDARD_RIGHTS_REQUIRED)
{
l_oStr.Format(" %s", "STANDARD_RIGHTS_REQUIRED");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & STANDARD_RIGHTS_ALL)
{
l_oStr.Format(" %s", "STANDARD_RIGHTS_ALL");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & DELETE )
{
l_oStr.Format(" %s", "DELETE ");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & READ_CONTROL )
{
l_oStr.Format(" %s", "READ_CONTROL ");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & WRITE_DAC)
{
l_oStr.Format(" %s", "WRITE_DAC");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & WRITE_OWNER)
{
l_oStr.Format(" %s", "WRITE_OWNER");
Display(l_oStr);
}
/****************************/
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & SYNCHRONIZE)
{
l_oStr.Format(" %s", "SYNCHRONIZE");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & ACCESS_SYSTEM_SECURITY)
{
l_oStr.Format(" %s", "ACCESS_SYSTEM_SECURITY");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & MAXIMUM_ALLOWED)
{
l_oStr.Format(" %s", "MAXIMUM_ALLOWED");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & GENERIC_ALL )
{
l_oStr.Format(" %s", "GENERIC_ALL ");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & GENERIC_EXECUTE )
{
l_oStr.Format(" %s", "GENERIC_EXECUTE ");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & GENERIC_WRITE)
{
l_oStr.Format(" %s", "GENERIC_WRITE");
Display(l_oStr);
}
if (l_oArray[i].aEnumUserRights[Entries].AccessRights & GENERIC_READ)
{
l_oStr.Format(" %s", "GENERIC_READ");
Display(l_oStr);
}
}
l_oStr.Format("%s%s%s", Sep, Sep, Sep);
Display(l_oStr);

}


}