运行Get-WmiObject Win32_ComputerSystem -ComputerName 'MyCnameRecord'
给出错误:The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
。
但是运行Get-WmiObject Win32_ComputerSystem -ComputerName 'ServerNameToWhichTheAboveCnameRefers'
所有工作。
同样Get-WmiObject Win32_ComputerSystem -ComputerName 'IPOfServerWhichCnameAlsoCorrectlyResolvesTo'
有效。
是否有人知道允许通过 CNAME 记录对服务器进行 RPC 调用所需的某些配置/安全设置?我假设由于 IP 正确解析,并且这由 IP 工作,它应该通过 cname 记录工作;但显然不是。
背景
我们最近将 SQL Server 从物理集群迁移到独立 VM。我们为集群使用了 DNS 别名,我们在迁移到 VM 后保留了该别名,以最大限度地减少重新配置(即我们使用这种方法:https ://www.mssqltips.com/sqlservertip/2663/using-friendly-names -for-sql-servers-via-dns/)。
在这次迁移之后,我们的一些监控软件在尝试查询数据库服务器的性能时开始报错。它通过 DNS 别名而不是服务器名称访问数据库服务器(这在以前对集群有效;但在使用 DNS CNAME 记录时不再有效)。
上面的 PowerShell 代码只是演示底层问题的一种简化方式。
你看过 LanmanServer 参数中的 OptionalNames 和 DisableStrictNameChecking 吗?根据您的 Windows 版本,这些可能是问题所在。
这在过去对我来说与共享和打印一起工作,所以应该(可以)为其他 Win32 RPC 东西工作。
TheFiddlerWins 描述的很可能是罪魁祸首。几个月前我处理了一个类似的问题,请参阅WMI 查询无法使用 FQDN 运行?.