Tôi đang chạy sau thông qua một kịch bản PHP từ xa kết nối với SSH:CMD bắt đầu cũng không PSExec mở ứng dụng tương tác trong foreground khi sử dụng PHP để kết nối với SSH
cmd /C start "" /MAX /b "C:\Windows\System32\notepad.exe"
Quá trình này không bắt đầu tuy nhiên nó vẫn còn trong nền và sẽ không mở hoàn toàn trên màn hình từ xa. Có cách nào để làm cho nó hoạt động tương tác (như PSExec có cờ -i) không?
Edit:
Vì vậy, PHP kết nối SSH với ssh2_connect
sau đó sử dụng ssh2_exec
theo cách sau đây:
if (!($stream = ssh2_exec($con, $shcom))) {
nơi $shcom
là lệnh truyền cho SSH, chẳng hạn như:
$shcom = 'cmd.exe /C start "" /MAX "%SystemRoot%\System32\calc.exe"';
Trước đây tôi đã sử dụng PSExec và PuTTY (lưu ý không thông qua tập lệnh PHP) để mở notepad.exe theo cách thủ công trên điều khiển từ xa máy qua các bước sau:
cd "C:\Program Files\PSExec\" & psexec \\localhost -i 2 -ds "C:\Windows\System32\notepad.exe"
đã hoạt động thành công tuy nhiên chức năng này cũng không hoạt động đúng cách thông qua PHP. Hiện tại, cả CMD và PSExec đều không thể hiển thị ứng dụng tương tác ở mặt trước tự động.
Chỉ cửa sổ nền trước hoặc chương trình mới được bắt đầu (2 giây) có thể đặt cửa sổ vào nền trước. Để truy xuất văn bản của điều khiển trong một tiến trình khác, hãy gửi tin nhắn WM_GETTEXT trực tiếp thay vì gọi GetWindowText. Xem https://msdn.microsoft.com/en-us/library/windows/desktop/ms633539(v=vs.85).aspx để biết danh sách đầy đủ các quy tắc. PSExec sao chép chính nó vào hệ thống đích bằng cách sử dụng chia sẻ quản trị viên. Sau đó kết nối với Bộ điều khiển dịch vụ của mục tiêu và tự cài đặt như một dịch vụ. Sau đó bắt đầu chương trình. Windows đã dành nhiều thập kỷ viết mã ngăn chặn các cửa sổ ăn cắp tập trung. –
Không có tính năng của cửa sổ để cho phép các chương trình chạy từ xa để can thiệp vào người dùng tương tác trên hệ thống từ xa. –
Để tham khảo đoạn mã cuối cùng tôi đã đăng không hoạt động để bắt đầu quá trình notepad ở nền trước, nhưng CHỈ nếu tôi gửi nó theo cách thủ công qua PuTTY. Bạn có biết cú pháp chính xác nào cho tập lệnh PHP để thực hiện điều này không? – Talisman