2010-07-02 1 views
2

사용자 - LocalSystem으로 Windows 서비스 (.NET으로 작성)를 실행하고 있습니다.Windows 서비스는 LocalSystem으로 실행 중이지만 현재 로그온 한 사용자로 프로세스를 시작해야합니다.

서비스에서 프로세스를 시작해야하지만 현재 로그온 한 사용자로 시작해야합니다. 내가 Process.Start (process_name) 사용자라면, 서비스의 권한으로 실행된다. 이것은 LocalSystem이다. 현재 로그온 한 사용자를 가장하고 같은 프로세스에서 프로세스를 실행하려면 어떻게해야합니까?

편집 : 나는 사용자 자격 증명에 액세스 할 수 없습니다 - 나는 사용자

EDIT2 로그인의 암호를 모르는 것 : 답변으로 표시된 게시물에 2 댓글이 도움이 무엇입니까 .

답변

0

이 유사한 질문은 이미 당신은 ProcessStartInfo를 사용하여 프로세스를 시작할 수 있습니다 Setting Service to Run as Current User

+0

그래, 조금 다릅니다. 내 서비스를 LocalSystem으로 설치하고 실행합니다. 나는이 권한이 높은 권한으로 실행되는이 서비스가 필요합니다. 즉 현재 사용자와 같은 낮은 권한으로 프로세스를 시작하는 것입니다. – Sameet

+1

아아, 알겠습니다. 서비스를 실행하여 프로그램을 실행하는 예약 된 작업을 만드는 방법은 무엇입니까? 또는 로그인 할 때 시작 메뉴에 항목을 넣으시겠습니까? – w69rdy

0

을 요구하고있다 - 당신이로 시작하는 새로운 프로세스에 대한 사용자 이름과 암호를 설정할 수 있습니다 :

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe"); 
startInfo.UserName = myUserName; 
startInfo.Password = myUserPassword; 
startInfo.Arguments = "www.northwindtraders.com"; 
Process.Start(startInfo); 

업데이트 : (다음 업데이트는 질문에)

당신 를 사용할 수 있습니다 이 경우210 - 다른 사람이 자격 증명을 제공하는 경우

+0

아, 죄송합니다. 언급하는 것을 잊어 버렸습니다. - 사용자 자격 정보를 전달할 수는 없습니다 - 비밀번호 없음 :) – Sameet