windows – 您是否可以使用WMI来确定连接是否从DHCP获取其DNS服务器?

前端之家收集整理的这篇文章主要介绍了windows – 您是否可以使用WMI来确定连接是否从DHCP获取其DNS服务器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以从Power shell中的Win32_NetworkAdapterConfiguration中读取网络接口的DNS服务器搜索顺序,也可以使用.Net ManagementObjects以编程方式读取:
  1. > $NICs = Get-WMIObject Win32_NetworkAdapterConfiguration | where{$_.IPEnabled -eq TRUE”}
  2. > $NICs[0]["DnsServerSearchOrder"]
  3. 192.168.1.1
  4. 192.168.1.2

无论接口是否配置为从DHCP获取它们,或者是否手动设置,WMI属性都将设置为活动DNS服务器.

您可以将它们设置为固定服务器,如下所示:

  1. > $DNSServers = 198.102.234.125″,”198.102.234.126
  2. > $NIC.SetDNSServerSearchOrder($DNSServers)

要设置适配器以使用DHCP服务器中的DNS,请使用null调用set函数,如下所示:

  1. > $NIC.SetDNSServerSearchOrder()

我无法在注册表中找到此设置的任何明显痕迹.

是否有任何方法可以告诉接口当前设置为使用DHCP获取其DNS服务器?

通常,如果客户端从DHCP获取IP,它通常也会获得DNS服务器.

但是对于你的WMI请求,我不这么认为.

对于DNS,您有以下属性

  1. ------------------------------------ ---------- -------------------------
  2. Class Name Type Property Name
  3. ------------------------------------ ---------- -------------------------
  4. Win32_ComputerSystem String DNSHostName
  5. Win32_NetworkAdapterConfiguration String DNSDomain
  6. Win32_NetworkAdapterConfiguration String DNSDomainSuffixSearchOrder
  7. Win32_NetworkAdapterConfiguration Boolean DNSEnabledForWINSResolution
  8. Win32_NetworkAdapterConfiguration String DNSHostName
  9. Win32_NetworkAdapterConfiguration String DNSServerSearchOrder
  10. Win32_NetworkAdapterConfiguration Boolean DomainDNSRegistrationEnabled
  11. Win32_NetworkAdapterConfiguration Boolean FullDNSRegistrationEnabled
  12. Win32_NTDomain String DnsForestName
  13. Win32_NTDomain Boolean DSDnsControllerFlag
  14. Win32_NTDomain Boolean DSDnsDomainFlag
  15. Win32_NTDomain Boolean DSDnsForestFlag
  16. ------------------------------------ ---------- -------------------------

对于DHCP,您有:

  1. ------------------------------------ ---------- -------------------------
  2. Class Name Type Property Name
  3. ------------------------------------ ---------- -------------------------
  4. Win32_NetworkAdapterConfiguration Boolean DHCPEnabled
  5. Win32_NetworkAdapterConfiguration DateTime DHCPLeaseExpires
  6. Win32_NetworkAdapterConfiguration DateTime DHCPLeaSEObtained
  7. Win32_NetworkAdapterConfiguration String DHCPServer
  8. ------------------------------------ ---------- -------------------------

在上面的那些…没有具体显示任何告诉你它从DHCP获得DNS服务器的东西. DNSServerSearchOrder将列出阵列中的服务器,但不会说“我从DHCP服务器获取这些服务器”.

编辑:但是,所有关于WMI的说法,我看到的一种方法是使用旧的netsh命令.

特别:

netsh interface ipv4 show dns

请注意,如果以这种方式配置,将会出现一条名为“通过DHCP配置的DNS服务器”的行.

猜你在找的Windows相关文章