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



我希望跟踪远程机器上某些应用程序的运行状态,其中不包括systemidle等系统应用程序。

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

当我尝试在远程机器上这样做时,我得到一个错误说'Access Denied'。

研究了一下,似乎有几个原因,比如应用程序/服务在哪个用户下运行。

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

该操作需要哪些用户权限?它们应该应用在哪里?如果远程机器上没有相同的用户,这样做是否有效?

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

因此,要么在那里添加您的帐户,要么使用目标计算机上存在的用户凭据。

经过一番挖掘:

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

相关内容

  • 没有找到相关文章

最新更新