2013-03-27 3 views
3

포럼을 살펴본 결과 내가하고 싶은 일을 완료하는 데 도움이되는 내용을 찾지 못했습니다. 내가 찾고있는 것은 원격 서버의 응용 프로그램에 대한 GUI를 시작하는 방법입니다. 필자는 특정 원격 세션의 세션 ID가 무엇인지 알면 PsExec을 통해이 작업을 수행 할 수 있음을 알았습니다. 그러나 세션 ID가 변경 될 때 이것이 안정적으로 사용할 수있는 것이 아닙니다.원격 서버에서 GUI 응용 프로그램 시작

  • 특정 사용자에 대한 서버 내 세션에서 GUI를 시작하는
  • 다른 방법을 세션 ID를 찾기 특정 사용자
  • 에 대한 영구적 인 세션 ID 유무 : 다음을 수행 할 수있는 방법이 있나요

어떤 도움을 주시면 감사하겠습니다.

+1

처럼 사용할 수 있습니다 이에 대한 해결책은 http://taskscheduler.codeplex.com/에서 찾은 코드를 사용했습니다. 그것은 작업 스케쥴러를 통해 갈 필요가 조금 고르지 만, 그것은 내가 성취해야하는 것을 얻는다. – tylerauerbeck

답변

1

필자는 원격 시스템에서 GUI 테스트를 실행해야 할 때 이와 같은 기능을 구현했습니다. 당신은 특정 사용자에 대해 지정된 세션에서 '대화 형'명령을 실행하는 것입니다 psexec에의 -i 매개 변수를 사용할 수 있습니다

, 그것은 다음과 같습니다

psexec.exe \\<MachineName> -u <Username> -p <Password> -i <SessionNumber> 

가 sessionNumber 당신은 또한 같은 수 있습니다 얻으려면 psexec 유틸리티를 사용하면 지정한 사용자의 원격 시스템에서 "쿼리 세션"을 실행할 수 있습니다.

다음과 같은 코드를 사용하여 세션 수를 반환 .BAT 파일을 만들 수 있습니다

:

@echo off 
setlocal enabledelayedexpansion 

set username=%2 
set password=%3 
set machine=%1 

psexec.exe \\%machine% -u %username% -p %password% query session %username%>sessid.txt 

set /a counter=0 
for /F "tokens=* skip=1" %%a in (sessid.txt) do (
for %%b in (%%a) do (
set /a counter+=1 
if !counter! == 3 (
    echo !counter!:%%b 
    exit %%b 
) 
) 
) 

이 배치 파일은 나를 위해 잘 작동, 당신이 찾고있는 무엇이든 들어이

getSessionNumber.bat <ServerName> <User> <Password> 
관련 문제