我正在尝试从主机B对主机A进行一些v4网络配置。因为在v4上使用WMI将是一个catch-22,我想使用link-local v6进行连接。
显然,至少从2003年开始,COM就支持IPv6了。似乎链接本地被遗忘了。令人困惑的是:如果主机A有IPv4工作(是的,4),这可行(在Python中):
>>> c = wmi.WMI('fe80::c0af:e3e1:8383:ddc7%17', user='Administrator', password='blabla')
>>>
但是,当我从A接口删除v4地址,或者用主机B无法连接的地址替换它时,上面的调用失败,报告“找不到指定的对象导出器”。有趣的是,主机A上的netstat确实显示了连接尝试。
其他信息:
任何提示?
已解决:似乎WMI会进行某种回调连接,并且在该方案中无法处理链接本地v6。升级到MS支持。
答案 0 :(得分:1)
事实证明,WMI做的任何奇怪的回调机制都能实现双向通信,无法应对链路本地寻址。我正在升级到微软的支持。
更新:我已经与MS支持讨论了这个问题。事实证明,Windows防火墙的默认设置阻止链接本地名称解析和WMI需要工作名称解析。
在要连接的计算机上启用“网络发现(LLMNR-UDP-In)”的allow-rule,使一切正常。显然问题不是某些连接回来,而是WMI坚持连接到命名端点。或者其他什么。