需要帮助登录到远程计算机并读取文本文件

时间:2013-09-10 21:55:45

标签: c# networking

我创建了一个Windows窗体应用程序,我想用它连接到远程计算机和显示器 数据存储在文本文件中。但是,当它尝试连接到远程计算机时,我收到以下错误:

RPC服务器不可用。 (HRESULT异常:0x800706BA)

我用来连接远程计算机的代码:

 var conOpt = new ConnectionOptions();
        conOpt.Impersonation = ImpersonationLevel.Impersonate;
        conOpt.EnablePrivileges = true;
        conOpt.Username = "username";
        conOpt.Password = "password";
        var scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", "computername"), conOpt );

        scope.Connect();

在网上研究之后,似乎申请可能不是  允许连接,因为服务器上的防火墙设置或与端口相关。或许我在代码中遗漏了一些东西?

这可能与远程计算机上的组策略有关  允许特定的应用程序连接?在配置方面还需要考虑哪些因素?有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

远程计算机是否在域上?如果是,请考虑在ConnectionOptions中包含该内容:

conOpt.Authority = string.Format("ntlmdomain:{0}", domainName);

另外,请尝试使用SecureString SecurePassword属性而不是常规字符串。不要认为这很重要,但值得一试。这是您创建SecureString

的方法
SecureString secureString = new SecureString();

foreach (char character in password)
{
     secureString.AppendChar(character);
}

conOpt.SecurePassword = secureString;

正如您所提到的,防火墙可能会阻止连接,但RPC连接通常在本地网络上未被阻止(除非另有配置)。另外,要添加到paqogomez关于服务的注释,请确保远程过程调用(RPC)(或远程过程调用(RPC)定位器,如果使用XP或Windows Server 2003)正在运行。