RunAs

서비스 애플리케이션으로 작성되지 않고 원격 클라이언트에서 활성화할 때 특정 사용자 계정으로 실행되도록 클래스를 구성합니다.

레지스트리 항목

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      RunAs = value

설명

값은 사용자 이름을 지정하며 UserName, Domain**\**UserName 형식 또는 "Interactive User" 문자열 중 하나여야 합니다. 문자열 "nt authority\localservice"(로컬 서비스의 경우) 및 "nt authority\networkservice"(네트워크 서비스의 경우)를 지정할 수도 있습니다. {AppID_GUID}이(가) 이미 시작되었거나 클래스 테이블에 항목이 있는 COM 서버를 참조할 때 "nt authority\system" 문자열을 지정할 수도 있습니다. 그러나 아직 시작되지 않은 COM 서버에서는 "nt authority\system"을 사용할 수 없습니다. "nt authority\localservice", "nt authority\networkservice" 및 "nt authority\system"의 기본 암호는 ""(빈 문자열)입니다.

참고

Windows Vista를 기준으로 "nt authority\localservice", "nt authority\networkservice" 및 "nt authority\system" RunAs 설정을 구성하는 데 빈 암호가 더 이상 필요하지 않습니다.

 

특정 사용자로 실행되도록 구성된 클래스는 다른 ID로 등록되지 않을 수 있으므로 실제 활성화 요청을 대신하여 COM에서 프로세스를 시작하지 않는 한 이 CLSID를 사용하여 CoRegisterClassObject 에 대한 호출이 실패합니다.

사용자 이름은 클래스의 AppID 키 아래의 RunAs 값에서 가져옵니다. 사용자 이름이 "대화형 사용자"인 경우 서버는 현재 로그온한 사용자의 ID로 실행되고 대화형 데스크톱에 연결됩니다.

그렇지 않으면 컴퓨터의 관리자와 시스템에만 사용할 수 있는 레지스트리의 일부에서 암호가 검색됩니다. 그런 다음 사용자 이름 및 암호를 사용하여 서버가 실행되는 로그온 세션을 만듭니다. 이러한 방식으로 시작하면 사용자는 자체 데스크톱 및 창 스테이션에서 실행되며 대화형 사용자 또는 다른 사용자 계정에서 실행되는 다른 사용자와 창 핸들, 클립보드 또는 기타 UI 요소를 공유하지 않습니다.

RunAs 클래스에 대한 암호를 설정하려면 시스템 디렉터리에 설치된 DCOMCNFG 관리 도구를 사용해야 합니다.

DCOM 서버에서 사용하는 RunAs ID의 경우 값에 지정된 사용자 계정에는 일괄 작업으로 로그온할 수 있는 권한이 있어야 합니다. 이 권한은 로컬 보안 정책 관리 도구를 사용하여 추가할 수 있습니다. 로컬 정책으로 이동하여 사용자 권한 할당을 엽니다. 일괄 작업으로 로그온을 선택하고 사용자 계정을 추가합니다.

RunAs 값은 서비스로 실행되도록 구성된 서버에 사용되지 않습니다. LocalSystem 이외의 ID로 실행해야 하는 COM 서비스는 서비스 제어판 애플릿 또는 서비스 컨트롤러 함수를 사용하여 적절한 사용자 이름과 암호를 설정해야 합니다. (이러한 함수에 대한 자세한 내용은 서비스를 참조하세요.)

참고

Microsoft Windows Server 2003부터 AppID 클래스는 대부분의 레지스트리 키와 달리 HKEY_CLASSES_ROOT\AppID와 교환할 수 없는 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID에서 명시적으로 읽습니다.

 

COM 서버 등록