Запустите программу в активном сеансе пользователя с помощью удаленного взаимодействия PowerShell. - PullRequest
2 голосов
/ 13 ноября 2009

Можно ли обнаружить, что конкретный пользователь имеет открытый сеанс на компьютере, и открыть процесс в этом сеансе, чтобы пользователь мог взаимодействовать с приложением с помощью удаленного взаимодействия PowerShell?

Как мне узнать, у каких пользователей есть сеансы, открытые на машине, и каково их состояние (активно, неактивно, отключено и т. Д ...)? Как мне запустить приложение в рамках одного из этих сеансов?

UPDATE
Я обнаружил, что вы можете определить идентификатор сеанса, в котором запущен процесс:

PS > ( Get-Process notepad ).SessionId
1

Кажется, я не могу найти идентификатор сеанса для процесса при его запуске.

1 Ответ

2 голосов
/ 14 ноября 2009

Powershell не может этого сделать, но инструмент Microsoft (ранее sysinternal) PSEXEC может это сделать. Посмотрите на параметр -i:

 -i         Run the program so that it interacts with the desktop of the
            specified session on the remote system. If no session is
            specified the process runs in the console session.
...