2017-12-07 19 views
0

Jenkins를 사용하여 응용 프로그램 설치 및 원격 컴퓨터에 테스트 사례 실행을 자동화하는 설정 자동화 테스트를 수행했습니다. 이 프로세스는 배치 파일을 사용하여 수행됩니다. 그것은 Windows 응용 프로그램이므로 세션을 활성 상태로 유지하는 시스템을 로그 아웃해야합니다 (원격 시스템). 내가 수동으로이 스크립트를 실행할 때, 그것은 완벽하게 작동, 원격 컴퓨터에서Jenkins : 32 비트 모드에서 Windows 일괄 처리 명령 실행

for /F "skip=1 tokens=3" %%s in ('query user testuser') do 
(C:\Windows\system32\tscon.exe %%s /dest:console) 

: 그 동안 나는 아래의 스크립트를 사용했다. 동일한 스크립트 (배치 파일) 젠킨스에서 실행되는 때 나는 다음과 같은 오류가 점점 오전 : 당신은 32 비트 프로세스에서 query을 실행하고 있기 때문에

'query' is not recognized as an internal or external command, operable program or batch file.

+0

이 젠킨스 32 비트입니다 query user testuser%windir%\sysnative\query.exe user testuser에 변경해야? –

+0

나는 젠킨스를 처음 사용합니다. 젠킨스 버전을 찾는 단계는 무엇입니까? – Sampath

답변

0

그것입니다. 64 비트에서 Windows 32 비트 프로세스에 File System Redirector

In most cases, whenever a 32-bit application attempts to access %windir%\System32 , the access is redirected to %windir%\SysWOW64 . Access to %windir%\lastgood\system32 is redirected to %windir%\lastgood\SysWOW64 . Access to %windir%\regedit.exe is redirected to %windir%\SysWOW64\regedit.exe

아래에 넣어지게된다 윈도우 query

C:\>where query 
C:\Windows\System32\query.exe 

그래서 SYSTEM32에 일반적으로는 32 비트 프로세스에서 볼 수없는 64 비트 . 당신은 32 비트 cmd를 이것을 확인할 수 있습니다

C:\Windows\SysWOW64\cmd.exe /c query user testuser 
'query' is not recognized as an internal or external command, 
operable program or batch file. 

당신은

+0

이것은 내가 찾고있는 것입니다. 그것은 효과가 있었다. – Sampath

+0

이 솔루션은 원격 데스크톱 시스템이 열리면 시스템을 잠그고 테스트 스크립트가 성공적으로 실행되었습니다. 그러나 원격 데스크톱 컴퓨터가 열리지 않고 동일한 문제가 발생하면 자동화 스크립트가 다시 실패합니다. – Sampath

+0

시스템 설정 방법을 잘 모르겠지만 query.exe가 system32 또는 sysnative에 있는지 확인하고 경로를 변수에 저장 한 다음 해당 변수를 사용하여 실행하십시오 –