Cho*_*let 3 .net c# system.diagnostics windows-7
我在使用已建立的生产.NET2服务时遇到了麻烦.该服务从各种目标计算机收集进程信息和日志文件.它运行在80个站点没有问题; 主要在Windows 2000,Windows XP和Windows 2003上.
现在,针对Windows 7目标运行,只要服务尝试读取进程信息,就会发生异常.
代码如下:
Process[] procs = System.Diagnostics.Process.GetProcesses("10.11.12.13");
Run Code Online (Sandbox Code Playgroud)
信息:目标计算机响应ping并且目标计算机和服务计算机上都存在"adminUser"凭据.
例外信息:
ex {"无法连接到远程计算机."} System.Exception {System.InvalidOperationException} [System.InvalidOperationException] {"无法连接到远程计算机."} System.InvalidOperationException
Data {System.Collections.ListDictionaryInternal} System.Collections.IDictionary {System.Collections.ListDictionaryInternal}
InnerException {"无法从性能计数器获取进程信息."} System.Exception {System.InvalidOperationException} [System.InvalidOperationException] {"无法从性能计数器获取进程信息."} System.InvalidOperationException
Data {System.Collections.ListDictionaryInternal} System.Collections.IDictionary {System.Collections.ListDictionaryInternal}
InnerException {"找不到网络路径"} System.Exception {System.ComponentModel.Win32Exception}
消息"无法从性能计数器获取进程信息." 串
源"系统"字符串
StackTrace"在System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLiblibrary)\ r \n在System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName,Boolean isRemoteMachine)"string
TargetSite {System.Diagnostics.ProcessInfo [] GetProcessInfos(System.Diagnostics.PerformanceCounterLib)} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo}
消息"无法连接到远程计算机".串
要解决此问题,我在目标计算机上禁用了Windows防火墙,但无济于事.有人有主意吗?
如果有人对我应该尝试的步骤和顺序有任何建议,我非常感谢你的帮助.
更新:我从监控计算机执行了"tasklist"命令,传递参数以查询远程(目标)计算机,我能够看到相同类型的过程信息,我无法以编程方式获取...
该命令看起来像:
tasklist /s 10.11.12.13
Run Code Online (Sandbox Code Playgroud)
返回的信息如下:
...
notepad.exe 672 1 4,916 K
...
Run Code Online (Sandbox Code Playgroud)
那么,为什么.NET不能看到进程信息???
| 归档时间: |
|
| 查看次数: |
4987 次 |
| 最近记录: |