2010-12-27 2 views
2

У меня есть сервер Windows 2003 и вы хотите программно переключать пользователей с помощью C#. У меня есть список всех активных пользователей, так как я могу переключить пользователя?Как сменить пользователя программно с помощью C#

Мне нужно захватить экран всех пользователей, которые в настоящее время подключаются.

Благодаря Laxmilal

+0

вам нужно переключить пользователь или список всех зарегистрированных пользователей ли? Который из? Записан – Oded

+0

Я могу перечислить всех пользователей, использующих библиотеку «cassia». Теперь нужно захватить экран в файл jpg, чтобы отслеживать, что они делают? – LLM

ответ

0

Вы имеете в виду, как если бы вы заблокировать экран и войти в систему с кем-то еще? Это совершенно невозможно. Вы знаете, что на экране входа в систему говорится, что вам нужно нажать ctrl-alt-del, он сконструирован так, чтобы никто не мог с этим справиться. Однако вы можете олицетворять пользователей, как с помощью команды runas, но вам нужно знать их пароли для этого.

+0

Я так не думаю, возможно, сервис может это сделать, потому что он жив, когда –

+0

сервис олицетворяет учетную запись. Это не то же самое, что возиться с активным сеансом пользователя. – Eilistraee

+0

AFAIK не только сервисы могут олицетворять. – fejesjoco

2

Не совсем понятно, чего вы хотите достичь.

Есть несколько способов, чтобы иметь программу работы в качестве другого пользователя, чем вошедшие в один (или есть программа выполнить другой процесс с различными учетными данными):

  • Использование runas, снабжая учетные данные для других пользователь
  • В C# используйте Process.Start с ProcessStartInfo. Это позволяет предоставить учетные данные, при которых процесс должен выполняться
  • службы Windows, требуется учетная запись для запуска - это может быть другой пользователь, чем вошедшего в одном (и будет работать ли кто-то вошел в систему или нет)

Вы не можете изменить учетные данные уже запущенного процесса.

Вы можете найти Что вы пытаетесь достигнуть? Возможно, есть другие способы добиться того, чего вы хотите.

+0

Мне нужно захватить экран всех пользователей, которые в настоящее время находятся на входах. – LLM

+1

@ user219909 - Это не то, что вы просили. – Oded

1

Вы можете выполнять действия с олицетворениями (с определенным именем пользователя и паролем) в ASP .Net.

Если это приложение для Windows, вы просто начинаете процесс с другим именем пользователя, описанным здесь. http://msdn.microsoft.com/en-us/library/ed04yy3t.aspx

Приветствие, Стефан

Смежные вопросы