Подключение к диспетчеру служб терминалов - PullRequest
0 голосов
/ 02 июня 2009

Кто-нибудь когда-нибудь сталкивался с способом создания приложения, которое имитирует то, что делает диспетчер служб терминалов в Windows2003 / XP.

Я хотел бы написать что-то, что будет либо отправляться и запрашивать ферму серверов каждые n секунд, чтобы получить список пользователей, вошедших в систему, процессов и т. Д., Либо, возможно, ввести имя пользователя, и оно отправляется и находит пользователя в ферма и возвращает их данные.

Приветствие Люк

Ответы [ 3 ]

2 голосов
/ 04 июня 2009

Я бы предложил использовать Cassia , библиотеку .NET, которая внутренне использует библиотеку Wtsapi32, упомянутую Арншеей. Например, для просмотра списка всех пользователей, вошедших на сервер:

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
1 голос
/ 02 июня 2009

Я взломал это, используя qwinsta (запрос winstation - мнемоника) и парсинг / регулярные выражения. Остерегайтесь брандмауэров и подражания.

0 голосов
/ 02 июня 2009

Взгляните на psexec и другие утилиты ps * от Microsoft (изначально от SysInternals).

...