Utilisateurs ordinateur distant

[Résolu]
Signaler
Messages postés
32
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
23 mai 2007
-
Messages postés
32
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
23 mai 2007
-
Bonjour,

je voudrais savoir comment enumérer les utilisateurs d'un poste distant sans utiliser wmi sur un systeme d'exploitation windows..
Je vous remercie d'avance pour votre aide

Tracid

5 réponses

Messages postés
32
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
23 mai 2007

C'est bon jai réussit à afficher les données j'avais juste oublié de saisir une variable dans la structure de User_info_2.
Voci le lien si cela interresse quelqu'un :
http://msdn2.microsoft.com/en-us/library/aa371337.aspx

Bonne journée et encor merci
Messages postés
32
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
23 mai 2007

Personne n'a de solution. N'existerait-il pas une comment dos autrement qui pourrait par la suite être utiliser avec la méthde process().
Please à l'aide.

Merci d'avance.
Tracid
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

Essaie de regarder du côté des API Network Management et plus particulièrement de NetUserEnum.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
32
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
23 mai 2007

je te remercie pour ta réponse. Je vais essayer de mettre en place la structure NetUserEnum. A mon avis sa doit être bon.
Mercie encors pourton aide.
Tracid
Messages postés
32
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
23 mai 2007

Bonjour coq,

je voulais juste savoir comment lire les informations.Enfaite j'arrive a récupérer les informations mais ensuite je n'arrive pas à les afficher.
Voici le bout de code ou ça bloque :

String Servername = "???.???.???.???"; //null indique que les informations concerneront la machine locale
        int level = 2; //la valeur 2 --> liée à USER_INFO_2
        uint prefmaxlen = 368880;
        int entriesread = 0;
        int totalentries = 0;
        int resume_handle = 0;
        IntPtr bufPtr = IntPtr.Zero;
        try
        {
            int ret = NetUserEnum(Servername, level,0, ref bufPtr, prefmaxlen, ref entriesread, ref totalentries, ref resume_handle);
            IntPtr currentPtr = bufPtr;
            int nStructSize = Marshal.SizeOf(typeof(USER_INFO_2));
            for (int i = 0; i < entriesread; i++)
            {
                if (level == 2)
                {
                 USER_INFO_2 shio = (USER_INFO_2)Marshal.PtrToStructure(currentPtr,typeof(USER_INFO_2));
                    Console.Out.WriteLine("Name: " + shio.usri2_name);
                    currentPtr = new IntPtr(currentPtr.ToInt32() + nStructSize);
                    NetApiBufferFree(bufPtr);
                }
            }
           
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

Merci d'avance pour ton aide

Tracid