2010-10-11 17 views
1

En utilisant WMI (quel que soit le langage de programmation actuel), il est possible d'obtenir l'utilisateur actuellement connecté en utilisant une requête telle que Select UserName from Win32_ComputerSystem. Tout est bon et bon.Comment lister les utilisateurs actuellement connectés lorsqu'il y en a plus d'un en même temps?

Mais que se passe-t-il si plusieurs sessions utilisateur et/ou services Terminal Server sont impliqués? Est-il possible de lister all les utilisateurs actuellement connectés sur un système donné? Comment?

Si WMI n'est pas la meilleure option ici, et/ou s'il y a d'autres outils disponibles, n'hésitez pas à nous conseiller. Je suis principalement intéressé par .NET/C#.

Répondre

0

Cette réponse existe déjà sur le net. Avez-vous essayé Google? Je l'ai fait et trouvé (tous WMI liés) -

  1. StackOverflow question (this makes your question a duplicate)

  2. MSDN blog entry - worth trying

  3. Web search result

Je recommande fortement d'utiliser un premier moteur de recherche - stackoverflow/web - et si vous ne trouvez toujours pas les réponses, allez-y et postez votre question!

+2

C'est exactement ce que j'ai fait. J'ai beaucoup cherché, et voici comment j'ai trouvé la requête WMI que j'ai citée dans la question; J'ai également déjà tombé sur certains de vos liens, comme le troisième (qui utilise exactement la même requête, et ne montre qu'un seul utilisateur). D'autres semblent plus prometteurs, principalement le SO. Merci pour votre réponse, mais s'il vous plaît essayez de ne pas être si grossier. – Massimo

+0

Massimo, je n'étais pas impoli, mais je suis conscient que ma réponse directe pourrait sembler ainsi. :) J'essayais de montrer comment faire pour trouver une solution. – Nayan

0

Ce que vous voulez est WTSEnumerateSessions, cependant cela impliquera un appel p/invoke. Si vous voulez une belle bibliothèque de wrapper C#, je recommande cassia. Quant à une solution purement WMI je ne sais pas.

J'ai trouvé un MSDN post à propos de certains appels WMI similaires à ce que vous voulez.

+0

Cela semble assez spécifique à RDP; Listerait-il également les sessions de console? Aussi, j'ai besoin de faire cela à distance, ce qui correspond très bien à WMI. – Massimo

+0

Vous ne pouvez avoir qu'une session de console active à la fois avec WinNT, mais oui, cela fonctionne avec des sessions de console. –

+0

Au moins vous avez maintenant un point de départ voir s'il y a une interface WMI pour WTSEnumerateSessions –