检查远程计算机上应用程序的运行状态

时间:2015-08-12 09:27:01

标签: c# .net remote-access system.diagnostics

我希望跟踪远程计算机上某些应用程序的运行状态,而不是systemidle等系统应用程序。

我正在使用System.Diagnostics.Process类和GetProcessesByName(string processname, string systemID)用于此目的。

当我尝试为远程计算机执行此操作时,我收到错误消息“拒绝访问”#。

研究,似乎有几个原因,例如运行应用程序/服务的用户。

我尝试提升用户,我的服务(跟踪应用程序)将在其帐户下运行,但它似乎没有用。

此操作所需的用户权限是多少?它们应该在哪里应用?如果远程计算机上没有相同的用户,这会有效吗?

1 个答案:

答案 0 :(得分:0)

要远程访问计算机,您应该拥有target计算机的权限/权限,否则这将是一个巨大的安全漏洞。

请在此处添加您的帐户,或使用目标计算机上存在的用户的凭据。

经过一番挖掘:

  

如果当前用户无权访问远程计算机,则对 RegConnectRegistry 的调用将失败。要连接到远程注册表,请在调用RegConnectRegistry之前使用LOGON32_LOGON_NEW_CREDENTIALS和 ImpersonateLoggedOnUser 调用 LogonUser

Source