원격 데스크톱을 통해 Windows Vista에 로그인할 때 일부 시작 프로그램이 실행되지 않도록 방지

원격 데스크톱을 통해 Windows Vista에 로그인할 때 일부 시작 프로그램이 실행되지 않도록 방지

원격 데스크톱을 통해 Windows Vista 데스크톱에 로그인할 때 일부 시작 프로그램이 실행되지 않도록 할 수 있습니까?

나는 시작 바로 가기에 추가할 때 CapsLock이 켜져 있는 경우에만 해당 인수에서 실행 파일을 실행하는 "Capster"와 같은 솔루션을 기대하고 있었습니다. 키 상태를 찾는 것보다 원격 데스크톱을 통해 로그인했는지 실제로 감지하고 싶습니다.

시작할 때 비활성화하고 싶은 종류의 앱은 IM 클라이언트입니다. 이 경우에는 다중 모니터 작업을 위한 Digsby, Windows Sidebar, Samurize 및 UltraMon이 있습니다.

답변1

확신하는. "콘솔 전용" 프로그램을 실행하는 명령이 포함된 배치 파일을 만듭니다. 해당 파일 상단에서 SESSIONNAME이라는 변수를 확인하세요. "Console"과 같으면 해당 프로그램을 실행하십시오. 그렇지 않다면 하지 마십시오.

이와 같이:

@echo off

IF %SESSIONNAME% == Console (

echo In console, executing programs.
REM List paths to programs here prefaced by "start " so they run async.

GOTO :END
) ELSE (
REM Not in console, not executing programs.
)

:END

답변2

대체 솔루션(명령 프롬프트 CLI에 익숙한 경우에만) 고급: FS 블록 사용량을 줄입니다. 내장된/밀폐된 공간에서.

OS가 하드링크 파일(XP/NT5 이하)만 지원하는 경우 해당 제한도 적용됩니다(exe 및 해당 링크는 다른 볼륨/드라이브에 있지 않을 수 있습니다).

  1. priv/elevated/as admin 명령 프롬프트를 엽니다.

  2. 원본 filename.exe에 대한 Sym/하드 링크 생성(fsutil 또는 타사 ln 도구 사용): scpath\Console_filename.exe

  3. RDP 세션에서 이 작업을 수행하는 경우 동일한 폴더(scpath)에 %SessionName%_filename.exe라는 tmp/dummy/blank/link를 생성하여 탐색기 LNK/prop 편집기를 해결해야 합니다. 참고: 리터럴 문자열인 %SessionName%은(는) 정의되지 않은 경우 cmd에서 사용됩니다.

  4. 동일한 터미널에서 explorer.exe를 실행하고 바로 가기/PIF/LNK를 편집하고 대상을 "progpath\filename.exe"에서 "scpath\%SessionName%_filename.exe"로 변경합니다. scpath는 filename.exe 경로와 다르거나 동일할 수 있습니다.

  5. %SessionName%_filename.exe를 삭제하고(3단계를 수행한 경우) 터미널을 종료합니다.

바로가기가 상대 경로를 가리킬 수 있고 progpath와 동일한 볼륨/드라이브에 있을 필요가 없으므로 Symlink는 더 유연합니다.

그런데. 드라이브 문자 없이 C:에 파티션/볼륨을 마운트하면 하드링크(동일한 NTFS에 있어야 함) 제한이 극복되지 않습니다.

관련 정보