我希望跟踪远程计算机上某些应用程序的运行状态,而不是system
或idle
等系统应用程序。
我正在使用System.Diagnostics.Process
类和GetProcessesByName(string processname, string systemID)
用于此目的。
当我尝试为远程计算机执行此操作时,我收到错误消息“拒绝访问”#。
研究,似乎有几个原因,例如运行应用程序/服务的用户。
我尝试提升用户,我的服务(跟踪应用程序)将在其帐户下运行,但它似乎没有用。
此操作所需的用户权限是多少?它们应该在哪里应用?如果远程计算机上没有相同的用户,这会有效吗?
答案 0 :(得分:0)
要远程访问计算机,您应该拥有target
计算机的权限/权限,否则这将是一个巨大的安全漏洞。
请在此处添加您的帐户,或使用目标计算机上存在的用户的凭据。
经过一番挖掘:
如果当前用户无权访问远程计算机,则对 RegConnectRegistry 的调用将失败。要连接到远程注册表,请在调用RegConnectRegistry之前使用LOGON32_LOGON_NEW_CREDENTIALS和 ImpersonateLoggedOnUser 调用 LogonUser 。