获取当前 Windows 服务器的本地 DNS 中的所有主机名

获取当前 Windows 服务器的本地 DNS 中的所有主机名

我已经部署SysInternals 的 BGInfo适用于我们所有的服务器(包括物理服务器和虚拟服务器)。但是,我们的一些服务器有多个主机名,以便在服务器被替换或其功能与其他服务器合并后支持与某些旧版软件系统的“向后兼容”。在某些情况下,这可能包括一些可追溯至几年前的“替代”主机名。

例子:

备用主机名原装电脑):NT-PROD
备用主机名从已停用的服务器合并的文件/服务):NT-DATA
备用主机名硬件故障=新电脑):PRODUCTION-07
当前计算机名称物理服务器迁移到虚拟服务器):PRODUCTION-21

使用基本方法WMIC获取计算机名称只会返回系统属性中指定的当前名称,而NSLOOKUP对服务器的 IP 地址执行此操作显然会产生相同的效果。有没有办法可以主动检索此特定服务器将响应的所有 DNS 主机名,以将其包含在我的 BGInfo 壁纸中?

我想我可以创建一个文本文件(或其他东西),BGInfo 可以检查备用主机名,但我试图让它尽可能“防傻瓜”,这样我就不会忘记更新/应用任何未来的 DNS 更改,或者意外地用错误的信息覆盖某些内容。我坦然承认,我对 PowerShell 脚本或更复杂的 WMIC 查询并不“熟练”,但我猜这就是我们要去的地方。

答案1

尝试Resolve-DNSName <IP> 它应该返回所有注册到服务器IP的名称

请记住,这仅适用于您所在的区域。不适用于整个互联网或任何类似的疯狂行为(请参阅https://stackoverflow.com/questions/31539904/get-all-dns-records-associated-with-an-ip了解更多信息)

相关内容