Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : lister les utilisateurs d'un groupe [ Système / Autre ] (deathsurfer)

vendredi 29 juin 2007 à 11:20:07 | lister les utilisateurs d'un groupe

deathsurfer

Bonjour à tous! Voilà j'arrive à récuperer les différents groupes et utilisateurs mais je n'arrive pas à récuperer les utilisateurs d'un groupe.
J'aimerais que ca fasse du genre:
Groupe1
User1 du Groupe1
User2 du Groupe 1
Groupe2
User1 du Groupe2
User2 du Groupe2 etc...

Voici le code qui permet de les lister indépendamment:
Code :
 
Dim chemin, message, Item, Classe AsObject
Dim computer AsString = "NOM_PC"
message = "Liste des utilisateurs et des groupes sur " & computer & Chr(10) & Chr(10)
chemin= GetObject("WinNT://" & computer & ",computer")
MsgBox(message)
ForEach Item In chemin
'pour les utilisateurs
Classe = Item.Class
If Classe = "User"Then
message = message & Classe & Chr(9) & Item.name & Chr(10)
MsgBox(message)
EndIf
'pour les groupes
If Classe = "Group"Then
message = message & Classe & Chr(9) & Item.name & Chr(10)
MsgBox(message)
EndIf
Next

Merci a tous de votre aide!

vendredi 29 juin 2007 à 15:22:26 | Re : lister les utilisateurs d'un groupe

izords

Voici un code qui permet de faire ca mais je code en C#. Je suis certain que tu pourra trouvé l'équivalent en VB.

Classe

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
namespace NetworkFunctions
{
 public class NetworkAPI
 {
  #region LOCAL_GROUP_INFO_1 (Structure)
  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
  public struct LOCALGROUP_INFO_1
  {
   [MarshalAs(UnmanagedType.LPWStr)]
   public string lgrpi1_name;
   [MarshalAs(UnmanagedType.LPWStr)]
   public string lgrpi1_comment;
  }
  #endregion

  #region LOCALGROUP_MEMBER_INFO_1 (Structure)
  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
  public struct LOCALGROUP_MEMBERS_INFO_1
  {
   public int lgrmi1_sid;
   public int lgrmi1_sidusage;
   public string lgrmi1_name;
  }
  #endregion

  #region NetLocalGroupAdd (API Call)
  [DllImport("Netapi32.dll")]
  public extern static int NetLocalGroupAdd([MarshalAs(UnmanagedType.LPWStr)] string servername, int level, ref LOCALGROUP_INFO_1 buf, int parm_err);
  #endregion

  #region NetLocalGroupDel(API Call)
  [DllImport("Netapi32.dll")]
  public extern static int NetLocalGroupDel([MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string groupname);
  #endregion

  #region NetLocalGroupGetInfo (API Call)
  [DllImport("Netapi32.dll")]
  public extern static int NetLocalGroupGetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string groupname, int level, out IntPtr bufptr);
  #endregion

  [DllImport("Netapi32.dll")]
  public extern static int NetLocalGroupSetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string groupname, int level, ref LOCALGROUP_INFO_1 buf, int parm_err);

  [DllImport("Netapi32.dll")]
  public extern static int NetLocalGroupEnum([MarshalAs(UnmanagedType.LPWStr)]
                    string servername, int level, out System.IntPtr bufptr, int prefmaxlen, out
                    int entriesread, out int totalentries, out int resumehandle);

  [DllImport("Netapi32.dll")]
  public extern static int NetApiBufferFree(IntPtr Buffer);

  [DllImport("Netapi32.dll")]
  public extern static int NetLocalGroupGetMembers([MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string localgroupname, int level, out IntPtr bufptr, int prefmaxlen, out int entriesread, out int totalentries, out int resumehandle);

  public NetworkAPI()
  { }
 }
}


Puis les 2 fonctions qui permette d'utiliser cette classe et de lister les groupes ainsi que leurs membres
Mettre les 2 using suivant :

using System.Runtime.InteropServices;
using NetworkFunctions;

private void getGroup()
{
 int EntriesRead;
 int TotalEntries;
 int Resume;
 System.IntPtr bufPtr;

 NetworkAPI.NetLocalGroupEnum(null, 1, out bufPtr, -1, out EntriesRead, out TotalEntries, out Resume);

 if (EntriesRead > 0)
 {
  NetworkAPI.LOCALGROUP_INFO_1[] Groups = new NetworkAPI.LOCALGROUP_INFO_1[EntriesRead];
  IntPtr iter = bufPtr;
  for (int i = 0; i < EntriesRead; i++)
  {
   Groups[i] = (NetworkAPI.LOCALGROUP_INFO_1)Marshal.PtrToStructure
            (iter, typeof(NetworkAPI.LOCALGROUP_INFO_1));
   iter = (System.IntPtr)((int)iter + Marshal.SizeOf(typeof(NetworkAPI.LOCALGROUP_INFO_1)));
   Response.Write(Groups[i].lgrpi1_name + "<span style='color:#999999'>&nbsp;&nbsp;&nbsp;(" + Groups[i].lgrpi1_comment + ")</span>" + "<br>");
   getMembers(Groups[i].lgrpi1_name);
  }
  NetworkAPI.NetApiBufferFree(bufPtr);
 }
}

private void getMembers(string group)
{
 int EntriesRead;
 int TotalEntries;
 int Resume;
 System.IntPtr bufPtr;

 NetworkAPI.NetLocalGroupGetMembers(null, group, 1, out bufPtr, -1,
    out EntriesRead, out TotalEntries, out Resume);

 if (EntriesRead > 0)
 {
  NetworkAPI.LOCALGROUP_MEMBERS_INFO_1[]
     Members = new NetworkAPI.LOCALGROUP_MEMBERS_INFO_1[EntriesRead];
  System.IntPtr iter = bufPtr;
  for (int i = 0; i < EntriesRead; i++)
  {
   Members[i] = (NetworkAPI.LOCALGROUP_MEMBERS_INFO_1)Marshal.PtrToStructure
              (iter, typeof(NetworkAPI.LOCALGROUP_MEMBERS_INFO_1));
   iter = (System.IntPtr)((int)iter + Marshal.SizeOf(typeof(NetworkAPI.LOCALGROUP_MEMBERS_INFO_1)));
   Response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + Members[i].lgrmi1_name + "<br>");
  }
  NetworkAPI.NetApiBufferFree(bufPtr);
 }
}


samedi 30 juin 2007 à 12:03:23 | Re : lister les utilisateurs d'un groupe

deathsurfer

Lol merci izords il n' ya que toi qui me réponde!
J'ai trouvé la solution et il n'y a presque pas de lignes de codes, si ca interesse quelqu'un....

samedi 30 juin 2007 à 15:33:46 | Re : lister les utilisateurs d'un groupe

izords

Moi ca m'intéresse !!

dimanche 1 juillet 2007 à 17:02:17 | Re : lister les utilisateurs d'un groupe

deathsurfer

Dim SAM, message, Item, Classe As Object
        Dim objGroup, objUser As Object
        Dim computer As String = "NOM_PC"
        message = "Liste des utilisateurs et des groupes sur " & computer & Chr(10) & Chr(10)
        SAM = GetObject("WinNT://" & computer & ",computer")
        MsgBox(message)
        For Each Item In SAM
            Classe = Item.Class
            If Classe = "Group" Then
                message = message & Classe & Chr(9) & Item.name & Chr(10)
                MsgBox("Groupe:" & Item.name)
                objGroup = GetObject("WinNT://" & computer & "/" & Item.name)
                For Each objUser In objGroup.Members
                    MsgBox("utilisateurs: " & objUser.Name)
                Next
            End If
        Next
Tiens izords!



Cette discussion est classé dans : message, utilisateurs, item, classe, chr


Répondre à ce message

Sujets en rapport avec ce message

Je cherche un script asp [ par Dup03 ] Je cherche un script pour faire un forum de discusionque les titres des message se trouve a gauche dans une caseet que les message se voie a droite qu Probleme SQL [ par yoyo ] Mon pb ne concerne pas directement ASP mais je suppose queqq'un pourra m'aider.La requete suivante est executee sur un serveur SQLServer 7.SELECT * FR L'apostrophe ne passe pas (') [ par Bar Open ] Lorsque j'inclus un apostrophe(') au clavier dans un messageet que je tente de mettre ce message dans une base de donne,il m'apparait un terrible mess dupliquer [ par rony ] bjrquand j'exécute la requête suivante, j'ai un message d'erreur comme quoi "matin" est dupliquerQuelle est la bonne syntaxe pour que matin soit copie envoye de message dans une zone de texte [ par Arken ] J'aimerai savoir comment depuis le code asp je peux envoyer un texte a un INPUT Type = "text"Merci smartupload [ par vinc ] ou se trouve mon erreur("Variable objet ou variable bloc With non définie ")voici mon script :formulaire :<input type="file" name=" html dans asp [ par fuji ] salut,j'envois un mail de confirmation à l'adresse de la personne qui s'est abonné à ma newsletter et j'arrive pas à mettre un texte à la ligne!Je vou Modification de valeurs dans une BDD et affichage [ par pi0up51 ] Bon voilà, le titre est pas tès explicite mais j'ai un PB.Grâce à un formulaire j'ajoute des données dans une BDD. Là pas de PB.Mais je voudrais grâce PROBLEME de TRANSFERT DE DONNEES PAR POST [ par je vais me flinguer!!! ] Slt, Je suis encore un débutant et dans toutes mes applications g besoin de trasnférer les données d'un formulaire par POST seulement:G un textarea Groupes d'utilisateurs [ par websinh ] salut, petite question : comment fait-on en asp pour connaitre le nom des groupes dont l'utilisateur fait partie ??merci davance


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.