我有一系列 iSCSI 名称(启动器),通常如下所示:
iqn.yyyy-mm.naming-authority:unique name
例如
iqn.1991-05.com.microsoft:myPC
我想以编程方式将此类 iSCSI 名称映射到它们各自的 IP 地址和/或主机名- 有没有办法做到这一点?理想情况下:
- 我想使用例如 CIM-XML/WBEM/SMI-S 或允许我以独立于平台的方式执行映射的类似协议来获取主机名;
- 我想避免将任何自定义代码部署到主机;
- 我想避免手动连接到网络中每个可能的主机并检查它的 iSCSI 名称是否与所讨论的主机匹配。
- 首选 Java 或 C#。
请注意,该unique name
部分通常是主机名,但不能保证这一点。或者,iSCSI 名称可以使用EUI 格式,例如:
eui.0123456789ABCDEF
在 Windows 上,“iSCSI Initiator”控制面板实用程序或iscsicli.exe
命令可用于检索机器的 IQN,因此理论上我可以迭代所有可能的(Windows)主机并查看 IQN 值是否匹配;但是,这听起来不是最佳解决方案。
我还转储了所有 WMI 和CIM 类以查找此映射,但在那里找不到。
有没有合适的方法来做到这一点?