作为 Windows 服务托管时,远程 WMI 不起作用

Posted

技术标签:

【中文标题】作为 Windows 服务托管时,远程 WMI 不起作用【英文标题】:Remote WMI not working when hosted as Windows Service 【发布时间】:2014-02-18 12:29:49 【问题描述】:

我正在研究远程 WMI。我已经为特定用户完成了所有 DCOM 设置、CIMV2 和 WMI 设置。当我将应用程序作为控制台应用程序运行时,它可以正常工作并获取数据。但是当我托管与 Windows 服务相同时,它会抛出异常

Message:  Error Message: Access is denied. 
(Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 
Inner Exception Message:  Stack Trace:    
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)    
at System.Management.ManagementScope.InitializeGuts(Object o)    
at System.Management.ManagementScope.Initialize()    
at RemoteWMIRule.BackupServerRule..ctor()

【问题讨论】:

@Sumon Banerjee:如果您已经编辑过这篇文章,您还可以改进格式并添加 WMI 和 DCOM 标签 @user3323400:欢迎使用 ***。请尝试使用代码格式化功能并使用预览。试着让你的问题可读。此外,请具体说明标签。您可以尝试问题中使用的关键字和缩写。如果标签已经存在,*** 会给出建议。 【参考方案1】:

通过在 DCOM 配置中添加网络和网络服务来解决。但问题仍然存在于 Windows Server 2008 R2 操作系统中。任何特定于操作系统的操作???!!

【讨论】:

以上是关于作为 Windows 服务托管时,远程 WMI 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

JNI - WMI连接错误

什么是WMI 有什么用?

Asp.Net 开发实战技术

从作为 LocalSystem 运行的 WCF 托管服务以特定用户身份启动进程

利用WMI获取本机基本信息

python 模块 wmi 远程连接 windows 获取配置信息