1

ターミナル サービス コマンド 'QWINSTA'、'RWINSTA'、および 'TSDISCON' に相当する .NET コマンドはありますか?

ありがとう

4

1 に答える 1

3

現在、.NET / マネージ API に相当するものはありません。ただし、おそらくwtsapi32.dllの関数を使用できます。マネージド コードからこれらを呼び出す方法の例については、 pinvoke.netを確認してください。以下から始めます。

WTSEnumerateSessions

WTSQuerySessionInformation

WTSLogoffSession

または、独自の Win32 ラッパーを作成したくない場合は、「cassia」プロジェクトを調べてください。私はそれを使用していないため、このソリューションの品質を保証することはできませんが、ネイティブの Windows ターミナル サービス API にアクセスするために使用される .NET ライブラリのようです。

以下は、C# で cassia ライブラリを使用する方法の例です (プロジェクト サイトから取得)。

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);
    }
}
于 2009-12-17T16:17:42.283 に答える