begin process at 2012 02 12 06:17:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Système

 > 

Autre

 > 

lister les utilisateurs d'un groupe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lister les utilisateurs d'un groupe

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ée dans : message, utilisateurs, item, classe, chr


Répondre à ce message

Sujets en rapport avec ce message

Message de confirmation avec javascript dans une datagrid [ par bendsiham ] Bonjour je voudrais ajouter un message de confirmation lors que l'utilisateur click sur l'evenement par exemple modifier dans le datagrid(asp.net,vb. Composition des services web [ par coolp ] bonjour, j'ai un problème dans la composition des services. En fait, j'ai fait une composition simple avec l'appel d'un seul service qui prend un mess Envoi mail avec pièce jointe [ par JHON44 ] Bonjour à toutes et tous, Quelqu'un pourrait m'aider SVP ? j'utilise ce code en vbs pour m'envoyer un message depuis mon serveur de fichier. j'usqu' Problème d'envoie mail [ par Dalih ] Pourra quelqu'un me donnant une explication à ce sens [code=aspx]Public MailMessage (String From, String to, String subject, String body) Dim Besoin D'aide sur message client [ par EyebeAssolo ] Salut à tous, svp j'ai un souci je veut controler les miss à jour dans ma BD sql serveur de mes clients silverlight de telle sorte que quand un client Capturer un message Firebird dans Delphi [ par abouhaytem ] Bonjour; Je travailles sur une application [color=blue]Delphi 7[/color] en utilisant une base de données [color=blue]Firebird 1.5[/color] mais le p 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales