
원격 데스크톱 앱(Server 2008)을 사용하는 여러 사용자가 내가 만든 .BAT 파일을 열면 두 개의 프로그램이 열립니다...그러나 동일한 프로그램(이 경우 Outlook)이 열리지 않도록 해야 합니다. 여러번 일어나서...
내 .BAT 파일에 이 줄을 만들었습니다...
tasklist /nh /fi "imagename eq outlook.exe" | find /i "Outlook.exe" > nul ||(start /min Outlook.exe)
잘 작동합니다. 단, 여러 사용자가 이 "터미널 서버"에 로그온하고 동일한 .BAT 파일을 실행하고 있습니다. 따라서 "사용자 2"가 로그온하면 Outlook이 시작되지 않습니다. 이미 "USER 1" 아래의 작업 관리자에서 실행 중인 것으로 표시됩니다...
"imagename" and "username"
"사용자 이름" 을 구별할 수 있어야 합니다 .%USERPROFILE%
답변1
명령 프롬프트를 사용하여 "동일한 사용자"가 터미널 서버에서 동일한 프로그램을 여는 것을 방지하는 방법은 무엇입니까?
여러 사용자가 이 "터미널 서버"에 로그온하고 동일한 .BAT 파일을 실행하고 있습니다. 따라서 "사용자 2"가 로그온하면 Outlook이 이미 작업에서 실행 중인 것으로 표시되므로 Outlook이 시작되지 않습니다. "USER 1" 아래의 관리자
아래 논리는 환경 변수를 사용하여 해당 명령을 실행하는 사용자 계정 프로필의 사용자 이름에 대한 %Username%
현재 항목만 가져오므로 시도해 보세요. TASKLIST
. .
그것을 실행하는 사용자만을 위한 프로세스를 가져오는 작업 목록 명령
TASKLIST /NH /FI "USERNAME eq %Username%" /FI "imagename eq outlook.exe"
예제 논리와 함께 사용
TASKLIST /NH /FI "USERNAME eq %Username%" /FI "imagename eq outlook.exe" | find /i "Outlook.exe" > nul ||(start /min Outlook.exe)