2012-05-14 3 views
0

Process.GetProcesses을 사용하면 원격 컴퓨터에서 실행중인 프로세스를 나열 할 수 있습니다.다른 계정을 지정하거나 가장하여 프로세스 Process.GetProcess를 호출 하시겠습니까?

Process [] allRemoteProcesses = Process.GetProcesses("myRemoteComputer"); 

그러나 이것은 내 계정의 권한에 따라 좌우되는 것으로 보입니다. 예외를 throw합니다 "원격 컴퓨터에 연결할 수 없습니다." 실행중인 사용자가 원격 시스템에 액세스 할 수없는 경우 -u-p 스위치와 유사하게 프로세스를 확인할 때 .NET에서 사용할 다른 계정을 PsList으로 지정할 수 있습니까?

답변

0

내가 전에 한 것은 this article에 설명 된 것과 비슷한 것을 사용합니다.

using (new Impersonator("user", "domain", "pass")) 
{ 
    Process[] allRemoteProcesses = Process.GetProcesses("myRemoteComputer"); 
    // Rest of code... 
} 

대안은 here를 설명 무슨 같은 프로세스에 대한 WMI 쿼리를 사용하는 데 사용됩니다.

0

동일한 문제에 대해 원격 레지스트리에서 원격 레지스트리 서비스를 켜면 나를 위해 일했습니다!