"활성" 원격 데스크톱 세션 가져오기

"활성" 원격 데스크톱 세션 가져오기

Windows에서는 다음을 사용하여 특정 서버에서 원격 데스크톱 세션을 얻을 수 있습니다.

qwinsta /server:SERVER_NAME

하지만 이렇게 하면 다양한 상태(예: 활성, 디스크 등)의 세션이 제공됩니다.

"활성" 세션을 얻기 위한 명령이나 배치 파일 또는 스크립트에 대해 아는 사람이 있습니까? 일반 Windows 7 클라이언트에서 실행할 수 있기를 원합니다.

답변1

qwinsta /server:SERVER_NAME | find /I "Active"

이것은 "Active"(소문자 또는 대문자)가 포함된 모든 줄을 뱉어내는 빠르고 더러운 단일 라이너입니다. 이 문자열을 포함하는 사용자 이름이 필요한 경우 상황이 더 복잡해지며 올바른 "활성" 문자열에 대해 네 번째 열을 확인해야 합니다.

for /F "usebackq tokens=1,2,3,4,5*" %i in (`qwinsta /server:SERVER_NAME ^| find "Active"`) do if "%l" == "Active" ( echo %i %j %k %l %m )

%i어쨌든 출력의 단일 필드를 처리해야 하는 경우 ... 변수 의 필드를 노출하므로 후자 형식이 선호됩니다 %m.

그러나 이 구조는 공백이 포함된 사용자 이름이 있는 경우에도 깨집니다. 이 경우 qwinsta에서 모든 것이 손실되며 대신 사용자 목록을 검색하는 PowerShell 함수를 찾아야 합니다.

관련 정보