Команды служб терминалов, доступные в пространстве имен.NET?

Существуют ли.NET-команды, эквивалентные командам служб терминалов 'QWINSTA', 'RWINSTA' и 'TSDISCON'?

Спасибо

1 ответ

Решение

В настоящее время нет аналога.NET / управляемого API. Вы, вероятно, можете использовать функции в wtsapi32.dll, хотя. Посмотрите на pinvoke.net несколько примеров того, как вызывать их из управляемого кода... начиная со следующего:

WTSEnumerateSessions

WTSQuerySessionInformation

WTSLogoffSession

Или, если вы не хотите накатывать свою собственную оболочку Win32, посмотрите проект " Кассия". Я не использовал его и поэтому не могу поручиться за качество этого решения, однако, похоже, что это библиотека.NET, используемая для доступа к собственному API-интерфейсу Windows Terminal Services.

Ниже приведен пример того, как вы будете использовать библиотеку cassia в C# (взято с сайта проекта):

ITerminalServicesManager manager = new TerminalServicesManager();
using (ITerminalServer server = manager.GetRemoteServer("your-server-name"))
{
    server.Open();
    foreach (ITerminalServicesSession session in server.GetSessions())
    {
        Console.WriteLine("Session ID: " + session.SessionId);
        Console.WriteLine("User: " + session.UserAccount);
        Console.WriteLine("State: " + session.ConnectionState);
        Console.WriteLine("Logon Time: " + session.LoginTime);
    }
}
Другие вопросы по тегам