윈도우 서버 세션 종료시 락 안걸리게 하기.

     

윈도우 서버에 원격으로 접속한 다음 접속을 끊으면 윈도우가 자동적으로 잠금상태가 된다.

물론 잠금상태여도 왠만한 어플리케이션은 돌아가기 때문에 상관없지만, 몇몇 특이한 놈들 때문에 항상 문제가 발생한다.

내가 문제가 되었던 프로그램은 Lync메신져인데, 메신져 상태가 온라인이었다가 원격을 끊으면 자리비움으로 바뀐다. 메신져는 돌아가기는 하지만 자리비움으로 바뀌는게 싫어서 별거 다 찾아봤다.

일단 Lyncclient API를 이용해 메신저 상태 Lyncclient.state가 바뀌면 자동으로 온라인 SignIn 상태로 만들게 만들어봤지만, 수동으로 바꾸는 상태는 잘 인지하고 온라인으로 바꿔주는데, 윈도우 잠금으로 인해 바뀌는 자리비움은 인식하지 못한다. 따라서 어플리케이션 수준에서 뭔가 하려고 해봤자 지원안하는 기능이라는 것이다.

이제 방향을 돌려 윈도우가 잠금이 안되게 해야하는데... 그 방법도 딱히 없다. 세션을 끊으면 무조건 잠기니까. 한가지 방법은 24시간 접속해놓고 있는건데, 이것도 좀 그렇다. 수많은 구글링 끝에 아래와 같은 야매(?) 방법을 찾아냈다.

터미널에서 다음 명령어 입력

tscon \[seesion id\] /DEST:console

이 명령어를 입력하면 특정 세션을 원하는 세션으로 바꿀 수 있다. 따라서 명령어를 사용하여 내가 지금 원격으로 접속한 세션은 console (아마 로컬일것이다.)로 옮기는것이다. 즉 원격으로 접속한 세션을 로컬에서 스스로 돌게 바꾸는게 핵심이다. 이렇게 하면 원격은 종료되고, 세션은 살아있는 상태이기 때문에 잠금상태로 바뀌지 않는다.

자신이 원격으로 접속한 세션을 확인하는 방법은 query session 명령어이다.

이렇게 할 경우 다시 원격을 붙으면 다른 세션으로 붙기 때문에 기존에 세션으로 연결 못하는 상황이 나오는데, 작업 관리자로 들어가서 돌고있는 세션을 로그오프 시키고 다시 들어가면 된다.

뭔가 좀비 PC를 만드는 느낌이지만 Lync가 공식 지원안해주는 이상 이 방법밖에 없을 것 같다.

반응형

댓글

Designed by JB FACTORY