2009-06-01 6 views
0

Est-ce que quelqu'un a jamais trouvé un moyen de créer une application qui imite ce que fait le Gestionnaire des services Terminal Server dans Windows 2003/XP. Je voudrais écrire quelque chose qui irait soit interroger une ferme de serveur toutes les n une fois obtenir une liste d'utilisateurs connectés, là processus etc. ou peut-être taper un nom d'utilisateur dedans et il va et trouve l'utilisateur dans la ferme et retourne leurs détails.Accrocher dans le Gestionnaire des services Terminal Server

Vive Luke

Répondre

2

Je suggère d'utiliser Cassia, une bibliothèque .NET qui utilise en interne la bibliothèque Wtsapi32 mentionnée par Arnshea. Par exemple, pour lister tous les utilisateurs connectés à un serveur:

Dim manager As New TerminalServicesManager() 
Using server As ITerminalServer = manager.GetRemoteServer("your-server-name") 
    server.Open() 
    For Each session As ITerminalServicesSession In server.GetSessions() 
     If Not string.IsNullOrEmpty(session.UserName) Then Console.WriteLine(session.UserName) 
    Next 
End Using 
+0

Examine exactement ce dont j'ai besoin, merci beaucoup! – beakersoft

1

J'ai piraté cela en utilisant qwinsta (winstation de requête est le mnémonique) et analyse de chaînes/expressions régulières. Méfiez-vous des pare-feu et de l'usurpation d'identité.

+0

J'ai vu cela mais il semblait un peu maladroit, est-ce que l'API non disponible? – beakersoft

+0

Il y a (wtsapi32.dll) mais il y a un peu de courbe d'apprentissage et son utilisation varie en fonction de l'environnement dans lequel il est exécuté. C'est une API COM/ActiveX mais vous n'avez pas de chance quand il s'agit de tlbs ... –

0

Jetez un oeil à psexec et les autres utilitaires ps * de Microsoft (à l'origine de SysInternals).

Questions connexes