Я хочу получить доступ к удаленному серверу с помощью моей программы (C# .NET) и выполнить там программу в контексте подключенного пользователя, как при использовании удаленного рабочего стола.
Я хочу не просто запускать программу, используя какую-либо учетную запись пользователя (например, RunAs), но иметь отдельный сеанс выполнения, такой как удаленный рабочий стол.
Думаю, терминальные службы надо как-то использовать, но точно не знаю. Любая помощь будет оценена по достоинству.





Вам следует ознакомиться с этим проектом с открытым исходным кодом: http://www.codeplex.com/Terminals
Он использует клиент ActiveX служб терминалов (mstscax.dll) для множества интересных вещей.
Просто скачайте проект и ознакомьтесь с исходным кодом, я уверен, что он предоставит вам всю информацию, необходимую для того, чтобы делать то, что вы хотите.