none
윈도우 서비스에서 Process.Start() 에 username, password 지정시 엑세스 거부 문제 RRS feed

  • 질문

  • 안녕하세요,

    윈도우 서비스에서 특정 사용자 권한으로 프로세스 구동하는 문제로 문의를 드립니다.

    구글링을 하면서 Win32 API를 이용한 방법으로는 성공을 한 상태입니다.

    (특정 사용자 프로세스의 PID를 따고 → 해당 PID로부터 토큰을 복제해서 → CreateProcessAsUser() 함수에 해당 토큰을 넣고 실행)

    그런데 저는 가급적이면 .NET Framework에서 제공하는 API를 사용해보려고 하는데

    C# .NET 에서 제공하는 메소드인 Process.Start() 를 사용하면 엑세스 거부가 발생합니다.

    혹시 C# .NET API에서 PID로부터 토큰을 복제하고, 해당 토큰을 이용하여 프로세스를 실행하는 다른 메소드는 없을까요?

    찾아보다가 도저히 알 길이 없어서 이렇게 도움을 요청해봅니다 ㅜㅠ

    2015년 6월 26일 금요일 오전 2:38

답변

  • 안녕하십니까? 베르사유의장미 님
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.
    문의 하신 "윈도우 서비스에서 Process.Start() 에 username, password 지정시 엑세스 거부 문제" 문의에 대한 답변을 드리겠습니다.

    CreateProcessAsUser Win32 API를 C#에서 바로 사용할 수 있는 방법도 있으니 참조하시기 바랍니다.

    http://www.pinvoke.net/
    What is PInvoke.net?

    A wiki for .NET developers

    PInvoke.net is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and other unmanaged APIs from managed code (written in languages such as C# or VB.NET).

    .NET developers worldwide can easily contribute to the community, sharing their valuable knowledge, whenever they have time to do so.

    New to Wikis? Try the Playground to experiment with the editing process

    Copy and paste your way to productivity

    Certain things just can't be done in pure .NET, and developers have to drill down to the Windows API. This is achieved through .NET’s Platform Invoke (PInvoke) functionality, which requires declarations to be supplied by the developer. Manually defining and using PInvoke signatures is an error-prone process that can introduce subtle bugs. PInvoke.net supplies you with tried and tested signatures and type definitions, so that you don't have to spend time writing them from scratch.

    Access PInvoke.net directly from Visual Studio

    We provide an Add-in to Visual Studio 2010 - 2013, to make the insertion of PInvoke signatures an easy, fast operation. Download the PInvoke.net Add-in for FREE now.

    제시해 드린 답변이 도움이 되었기를 바랍니다.
      
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    • 답변으로 표시됨 SMPark82 2015년 8월 19일 수요일 오전 1:55
    2015년 8월 12일 수요일 오전 2:26