【发布时间】:2014-06-03 03:54:18
【问题描述】:
我想通过从 WCF 服务调用 WMI 在远程机器上启动一个进程(不是交互式的小型控制台应用程序)。这意味着用户将从 Web 应用程序运行的 WCF 操作。
我实现了来自codeproject 的代码,但我对 InvokeMethod 函数的操作失败。错误是“访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED)'。
我使用 WBEMTEST 工具测试了 WMI 连接,它在同一组和另一台 PC 上使用相同的参数集(远程服务器的路径、用户名/密码、要运行的应用程序的路径)运行良好领域。用于模拟的帐户设置为this tutorial。由于它与 WBEMTEST 一起使用,因此在使用 WCF 进行此调用时是否需要检查任何具体事项?我在 web.config 的诊断部分中将 wmiProviderEnabled 设置为“true”可能会有所帮助,但它没有。
【问题讨论】:
-
你可能也想看看这个。 codeproject.com/Tips/753179/…
-
如果可能的话,我更愿意使用 WMI - WBEMTEST 的测试表明它应该是。感谢您的建议,但这种方法不适用于我的情况(身份验证、安全等)
-
我明白了。我写了另一篇文章,这就是我提到它的原因;O)
标签: c# wcf process wmi impersonation