2008-10-17 2 views
3

관리자가 아닌 사용자와 함께 실행할 때 일부 상황에서 C# 응용 프로그램이 충돌합니다.'실행 계정 ...'이 사용자 환경을 올바르게 생성하지 않습니다.

Windows Server 2003에서 문제가 발생했으며 이에 대한 자세한 정보를 찾으려고합니다. 다른 Windows OS에서는 문제가 될 수 있습니다.

관리자가 아닌 사용자를 만든 다음이 사용자로 'Run as ...'명령을 사용하여 내 응용 프로그램을 실행하면 사용자 환경이 올바르게 설정되지 않고 TEMP 환경 변수는 Documents and Settings 프로필에 자체 Temp 폴더가있는 대신 C : \ Windows \ Temp에 있음을 나타냅니다. 사용자에게이 폴더에 대한 사용 권한이 없으므로 .Net JIT 컴파일러가이 폴더에 쓰거나 읽으려고하면 응용 프로그램이 충돌합니다.

이 사용자로 로그온하면 상황이 여전히 잘못됩니다. 새로운 사용자를 로깅 할 때 일반적으로 얻을 수있는 환경을 준비하지 못하고 시작 중에 응용 프로그램이 계속 실행되지 않습니다. 사실 나는 사용자가 Windows 폴더에서 calc.exe 또는 다른 프로그램을 실행할 수 없다는 것을 깨달았습니다. 자신의 환경이 영구적으로 엉망이 된 것 같아 앞으로 유일한 방법은 프로필을 삭제하는 것입니다.

관리자가 아닌 사용자를 생성하고 'Run as ..'을 수행하기 전에 로그온하면 환경 설정이 제대로되고 응용 프로그램이 작동합니다.

이 문제에 대한 정보 나 Microsoft에서 인정하는지 여부에 대한 정보를 찾을 수 없습니다. 당신은 이것을 경험 했는가, 또는 그것에 관하여 더 많은 것을 찾을 수있는 곳을 아는가?

답변

3

그렇지 않은 경우 사용자 프로필에 runas를 사용하는 것이 좋습니다.

C:\temp>runas RUNAS USAGE:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] 
     /user: program 

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] 
     /smartcard [/user:] program 

/noprofile 사용자 프로파일 로드 될 것임을 지정한다. 이로 인해 응용 프로그램이 더 빨리로드되지만, 은 일부 응용 프로그램의 오작동을 유발할 수 있습니다.
/profile은 사용자의 프로필을로드하도록 지정합니다. 이것이 기본값입니다./env를 사용하면 사용자 대신 현재 환경 인 을 사용할 수 있습니다. 자격 증명이 원격 액세스 전용 인 경우/netonly를 사용합니다./savecred를 사용하여 사용자가 이전에 저장 한 자격 증명 을 사용합니다. 이 옵션은 Windows XP Home 에서 사용할 수 없으며 무시됩니다./스마트 카드를 사용하는 경우 스마트 카드에서 자격 증명을 제공해야합니다./사용자는 USER @ DOMAIN 또는 DOMAIN \ USER 양식의 이어야합니다.
EXE 용 프로그램 명령 줄. 예는 아래

예를 참조하십시오

runas /noprofile /user:mymachine\administrator cmd runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc" runas /env /user:[email protected] "notepad \"my file.txt\""

참고 : 사용자의 암호를 입력은 메시지가 표시 경우에만 사용할 수 있습니다.참고 : USER @ DOMAIN은/netonly와 호환되는 이 아닙니다. 참고 : /profile은 /netonly와 호환되지 않습니다.

관련 문제