로그인한 사용자 없이 대화형 프로그램을 여는 PSExec

로그인한 사용자 없이 대화형 프로그램을 여는 PSExec

저는 PSExec을 사용하여 다른 컴퓨터에서 작은 GUI가 있는 특정 서버 프로그램을 엽니다. 로컬과 대상 모두 Win7 64비트입니다. 나는 그것을 사용하여 엽니 다

psexec \myothercomputer -u Me -p mypass -i -d -h myapp.exe

다른 컴퓨터에 로그인해도 잘 작동합니다. 하지만 이 프로그램을 이런 방식으로 실행하는 것에 대한 내 생각은 해당 컴퓨터에 로그인할 필요가 없다는 것입니다.

오늘은 무슨 일이 일어났는지 알아보기 위해 로그인하지 않고 애플리케이션을 실행해 보았습니다. 나는 그것이 오류를 반환할 것이라고 생각했다. 그러나 PSExec은 프로세스 ID를 반환했습니다.

그런 다음 그 컴퓨터에 로그인했는데 놀랍게도 일종의 그래픽 "그림자"가 생겼습니다. 즉, 제가 실행하려고 했던 응용 프로그램의 모양이었죠!...... 마치 내가 실행하지 않았는데도 열리는 것처럼 보였습니다! 로그인.

저는 이것이 화면 새로 고침 문제라고 생각하고 해당 앱을 "깨우거나" 상호 작용하기 위해 여러 가지 방법을 시도했지만 실제로는 올바르게 표시되지 않았습니다. 작업 관리자를 사용하여 이 앱의 메모리 소비가 예상보다 너무 적다는 것을 알았습니다. 그래서 어느 시점에서 문제가 발생한 것 같습니다. 그리고 그것이 제가 정말로 기대하는 것입니다.

질문: PSExec가 로그인하지 않고도 대화형 애플리케이션을 성공적으로 열 수 있는 이유는 무엇입니까? 그렇다면 대화형 응용 프로그램이 제대로 실행되지 않는 이유는 무엇입니까?

답변1

에 따르면PSExec페이지에서 -i [session] 스위치는 다음을 수행합니다.

원격 시스템에서 지정된 세션의 데스크탑과 상호 작용하도록 프로그램을 실행하십시오. 세션이 지정되지 않으면 프로세스는 콘솔 세션에서 실행됩니다.

명령에서 맨페이지에 표시된 대로 -i 바로 뒤에 세션을 지정하지 않습니다.

또한 -d를 지정했음을 확인합니다. 특히 사용자가 로그인하지 않은 경우 -i가 콘솔 세션에서 실행되기 때문에 -i와 -d를 혼합할 수 없다고 생각하지만 -d는 프로세스 수명을 결정하기 위해 콘솔 세션을 사용하지 말라고 말합니다.

-d 프로세스가 종료될 때까지 기다리지 않습니다(비대화형).

관련 정보