Я бегу следующий через удаленный скрипт PHP, который подключается к SSH:CMD начать ни Psexec открыть интерактивное приложение на переднем плане при использовании PHP для подключения к SSH
cmd /C start "" /MAX /b "C:\Windows\System32\notepad.exe"
процесс запустился, однако он остается в фон и не будет полностью открываться на удаленном рабочем столе. Есть ли способ заставить его работать в интерактивном режиме (например, как PSExec имеет флаг -i)?
Edit:
Так PHP подключается к SSH с ssh2_connect
затем использует ssh2_exec
следующим образом:
if (!($stream = ssh2_exec($con, $shcom))) {
где $shcom
это команда перешла к SSH, такие как:
$shcom = 'cmd.exe /C start "" /MAX "%SystemRoot%\System32\calc.exe"';
Я ранее использовал PSExec и PuTTY (обратите внимание не на скрипт PHP), чтобы вручную открыть notepad.exe на удаленном компьютере машины через:
cd "C:\Program Files\PSExec\" & psexec \\localhost -i 2 -ds "C:\Windows\System32\notepad.exe"
который успешно работал, но это также не работает должным образом через PHP. В настоящее время ни CMD, ни PSExec не могут автоматически отображать интерактивное приложение на переднем плане .
Только окно переднего плана или недавно запущенная программа (2 секунды) могут помещать окно на передний план. Чтобы получить текст элемента управления в другом процессе, отправьте сообщение WM_GETTEXT непосредственно вместо вызова GetWindowText. См. Https://msdn.microsoft.com/en-us/library/windows/desktop/ms633539(v=vs.85).aspx для получения полного списка правил. PSExec копирует себя в целевую систему, используя общий ресурс admin. Затем подключается к сервисному контроллеру цели и устанавливается как служба. Затем запускается программа. Windows потратила десятилетия на то, чтобы писать код, предотвращающий кражу фокусов. –
Нет функции окон, позволяющей программам работать удаленно, чтобы помешать интерактивному пользователю в удаленной системе. –
Для справки окончательный фрагмент кода, который я опубликовал, действительно работает, чтобы запустить процесс блокнота на переднем плане, но ТОЛЬКО, если я отправлю его вручную через PuTTY. Вы знаете, какой правильный синтаксис для скрипта PHP должен выполнить это? – Talisman