我正在使用 WMI(Windows 管理规范)尝试从一组远程计算机收集一些信息。问题是,每次我尝试使用以下命令启动与远程计算机/资源的连接:
//IWbemLocator::ConnectServer method (wbemcli.h)
m_pLoc->ConnectServer ....
Run Code Online (Sandbox Code Playgroud)
在哪里
IWbemLocator *m_pLoc;
Run Code Online (Sandbox Code Playgroud)
(可以假设m_pLoc已正确初始化),如果远程资源不可用,Windows会在Windows事件查看器中生成日志事件:
DCOM 无法使用任何配置的协议与计算机进行通信;PID 请求......
问题是,鉴于大量远程设备在某些时候无法访问,日志会被淹没。
每次我尝试启动连接时,是否有任何方法可以控制或阻止 Windows 在事件查看器中推送事件?似乎争论:
IWbemLocator::ConnectServer method (wbemcli.h)
Run Code Online (Sandbox Code Playgroud)
或
CoCreateInstance用于初始化 IWbemLocator 不允许我正在寻找的这种非常自定义的配置。有什么建议或替代方案吗?谢谢你!
更仔细地查看 EventViewer 中记录的消息,我可以看到这是 DCOM 的事情,并且看起来您可以通过(像往常一样)调整注册表来关闭 DCOM 错误日志记录。
你想要的关键是:
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Ole
Run Code Online (Sandbox Code Playgroud)
然后DWORD在其中创建一个名为 的值ActivationFailureLoggingLevel并将其设置为2。
从这里收集的信息。我自己还没有测试过,但看起来应该可行。
| 归档时间: |
|
| 查看次数: |
225 次 |
| 最近记录: |