2012-05-14 22 views
0

通過使用Process.GetProcesses,我們可以列出遠程計算機中正在運行的進程,例如,通過指定/模擬另一個帳戶來調用Process.GetProcesses?

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

但是,這似乎取決於我的帳戶的權限。它引發異常「無法連接到遠程機器」。如果正在運行的用戶無權訪問遠程機器。我可以在檢查進程時指定.NET使用的另一個帳戶,類似於PsList中的-u-p開關?

回答

0

我之前所做的是使用類似於this article中描述的內容。

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

另一種方法是用它來使用WMI和查詢像什麼的描述here的過程。

0

對於同樣的問題,打開遠程註冊表中的遠程註冊表服務爲我工作!

相關問題