У меня есть веб-приложение, содержащее команду для запуска EXE
Process.Start("MyApp.exe")
Затем это приложение запустится putty.exe
и воля SendKeys
имитировать нажатия клавиш в приложении.
Приложение работает нормально, если я запускаю под своим именем пользователя или даже если запускаю с помощью runas /user:anyother_user
.
Проблема в том, когда MyApp.exe
начинается putty.exe
(что должно произойти, когда кто-то открывает определенную веб-страницу), я вижу, что приложение запущено, и процесс создается для обоих MyApp.EXE
и putty.exe
. Однако мне или кому-либо из пользователей ничего не видно. В основном потому, что приложение запускается под NT AUTHORITY\NETWORK SERVICE
. Я могу сказать, что ни одно из нажатий клавиш MyApp
отправляет, дошли до шпатлевки.
Я подозреваю, что это связано с putty
запуск диалогового окна в первый раз, когда оно запускается под пользователем (с предложением установить безопасное соединение и т. д.).
Мои вопросы:
ntauthority\networkservice
закрыть диалоговое окно, вызванное замазкой?putty
окно, запущенное network service
? чтобы я сам его отклонил, и тогда он больше не появлялся?putty
как любой другой пользователь (без необходимости хранить пароли по соображениям безопасности)?Любой ответ на эти вопросы поможет мне достичь цели.
Диалоговое окно похоже на принятие ключа хоста удаленного сервера. Putty просит подтвердить хост-ключ для сохранения этого ключа в реестре пользователя, который хочет к нему подключиться. Если вы хотите обойти это диалоговое окно, вы можете принудительно использовать указанный ключ хоста с помощью -hostkey
вариант.
Кроме того, вы можете объяснить шпатлевке использование серии команд, хранящихся в текстовом файле с -m
вариант.
Все эти варианты описаны здесь: замазка