Показать полную графическую версию : Удаленный запуск программы под сессией пользователя
Здравствуйте!
Возник вопрос по поводу возможности удаленного запуска программы под конкретной сессией пользователя.
При помощи WMI удаленно создается процесс, висит в таск менеджере, но само окошечко программы не появляется. Точно такие же симптомы наблюдаются, если запускать удаленно даже блокнот. Как я понимаю, дело в том, что пользователь сидит под одной сессией, а процесс создался в другой. Как это можно решить?
При помощи WMI удаленно создается процесс, висит в таск менеджере, но само окошечко программы не появляется. »
И не появится.
Create method of the Win32_Process class (Windows) (http://msdn.microsoft.com/en-us/library/windows/desktop/aa389388(v=vs.85).aspx):
Windows 2000 Professional with SP2 and earlier, Windows NT, and Windows 98/95: Win32_Process.Create can create an interactive process remotely.
От Windows XP и выше — не выйдет.
Как это можно решить? »
В рамках данной методики — никак. Если надо остаться в рамках Wbem — используйте старый дедовский способ: создание задания посредством Win32_ScheduledJob/at.exe, отсрочив его однократный запуск на минуту.
Iska, огромное спасибо за ответ!
А есть ли еще какие-нибудь методики? PsExec не в счет.
Хотелось бы реализовать возможность удаленного запуска программы без создания задания.
reliter, у Василия Гусева (PowerShell и другие скрипты | Get-Command | Out-Blog (http://xaegr.wordpress.com/)) есть хорошая статья на эту тему: Семь способов лениться - № 04, 2009 | Windows IT Pro | Издательство «Открытые системы» (http://www.osp.ru/win2000/2009/04/9094506/) (в блоге тоже есть, но частями).
reliter, перечитал последние посты и решил уточнить пост #2 (http://forum.oszone.net/post-2142539.html#post2142539): не получится создать именно интерактивный процесс, дающий доступ зарегистрированному на удалённой рабочей станции пользователю к его графическому/консольному интерфейсу. За сим исключением всё прочее работает: процесс можно удалённо запускать, следить за ним, прерывать его работу и т.п.
Спасибо еще раз!
В принципе лучше PsExec, от которого хотелось изначально отказаться по некоторым причинам, после всех попыток ничего не нашлось. На удаленной машине приложение с GUI полноценно запустилось после установки ключа /s и указании конкретного номера сессии, где надо все запустить.
Есть еще проект RemCom, но он не умеет запускать прогу в конкретную сессию.
В принципе лучше PsExec, от которого хотелось изначально отказаться по некоторым причинам, после всех попыток ничего не нашлось. На удаленной машине приложение с GUI полноценно запустилось после установки ключа /s и указании конкретного номера сессии, где надо все запустить. »
reliter, фактически, PsExec использует при этом то же самое проксирование, описанное в статье выше, разве что сам умеет (при наличии у пользователя прав) себя «клонировать» на удалённую машину, исполнить эту копию и установить канал связи с «родителем».
А поинтересоваться можно — зачем Вам демонстрация GUI удалённому зарегистрированному пользователю?
Да, конечно, можно!
Это нужно для того, чтобы пользователь мог воспользоваться чатом в автоматически запускающемся сервере на его машине при помощи PsExec.
На удаленной машине приложение с GUI полноценно запустилось после установки ключа /s и указании конкретного номера сессии, где надо все запустить. »
Блин! А самое то важное?? Где взять этот "номер сессии"?? По учеткой system он процесс запускает, а не под пользователем....
По учеткой system он процесс запускает, а не под пользователем.... »psexec -i "номер сессии" запускает процесс в заданной сессии. Пробовал применить эту опцию для запуска программ с повышенными правами из планировщика - фиг, т.е. прога запускается, но появляется некое подобие окна..
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.