RPC服务器不可用。 调用ManagementScope.Connect时

我需要远程创建一个服务,宁可不突破到命令并运行“SC \ remotemachine创建......”,并希望将C#代码内做到这一点。

但是,在运行即使sc命令的工作很愉快,因此在管理远程系统ManagementScope.Connect调用与抛出异常的代码时,“RPC服务器不可用。”

一段代码,这是否是

string machineName = "othermachine"; string path = string.Format(@"\\{0}\root\cimv2", machineName); ManagementScope scope = new ManagementScope(path); scope.Connect();

因为这是关于旅程的第一步,我有点坚持为下一步去哪里。 sc命令的作品,所以它是什么做不同的(除了不使用.NET库 - 也许我需要打WINAPI难?)

谢谢

--------------解决方案-------------

这琢磨了一小会儿看到分配给这个任务的时候被erroded离开后,我得到了旧的WIN32 API文档出来,[的DllImport]“主编,我需要做这个”老土办法“的要求。 作为一个旧的C狗我以前认识我围绕这些要求,多么惊人多少好几年使用托管库后回来,甚至方式。

我需要做的是要能够创建一个servcie,启动它,做无用功,停止并删除它。 在创建,启动,停止和删除的机制,我想集中活动的“做无用功”的一部分。

我第一次复制服务的exe文件的ADMIN $共享,并验证本地路径(与我们的服务器管理员没有说服力!)。 要做到这一点,我电话

["netapi32.dll"]NetShareGetInfo

然后我用从ADVAPI32.DLL以下

  • OpenSCManager
  • 的CreateService
  • StartService
  • OpenService(因为当我想要停止并删除它 - 不要让手柄打开,因为这可能需要一段时间,以便更清洁,以保持thngs自包含)
  • ControlService
  • QueryServiceStatus
  • CloseServiceHandle

这一切甚至通过VPN连接工作。

我只能猜测,托管API正在试图做的远远超过我的实际需要 - 使用管理的API中花费时间的差异和Windows API是相当多,并不能保证托管API会得到通过它WASN “T适当的方式前进。

显然,股票代码从MSDN不画的全貌。 我得到了相同的结果你。

看看这家伙做了。

编辑:

我相信你在一个工作组,而不是一个域尝试它,对吗? 这就是诀窍,工作组要求更多的工作,以打通。 上面的链接似乎有一种变通方法。 我会尝试再次从今晚回家。

分类:C# 时间:2015-03-14 人气:0
本文关键词: C#中的RPC,远程管理
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.100 (s). 10 q(s)