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

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

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

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

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

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

> $NIC.SetDNSServerSearchOrder()

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

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

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

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

对于DNS,您有以下属性

------------------------------------ ---------- -------------------------
 Class Name                           Type       Property Name
------------------------------------ ---------- -------------------------
 Win32_ComputerSystem                 String     DNSHostName
 Win32_NetworkAdapterConfiguration    String     DNSDomain
 Win32_NetworkAdapterConfiguration    String     DNSDomainSuffixSearchOrder
 Win32_NetworkAdapterConfiguration    Boolean    DNSEnabledForWINSResolution
 Win32_NetworkAdapterConfiguration    String     DNSHostName
 Win32_NetworkAdapterConfiguration    String     DNSServerSearchOrder
 Win32_NetworkAdapterConfiguration    Boolean    DomainDNSRegistrationEnabled
 Win32_NetworkAdapterConfiguration    Boolean    FullDNSRegistrationEnabled
 Win32_NTDomain                       String     DnsForestName
 Win32_NTDomain                       Boolean    DSDnsControllerFlag
 Win32_NTDomain                       Boolean    DSDnsDomainFlag
 Win32_NTDomain                       Boolean    DSDnsForestFlag
------------------------------------ ---------- -------------------------

对于DHCP,您有:

------------------------------------ ---------- -------------------------
 Class Name                           Type       Property Name
------------------------------------ ---------- -------------------------
 Win32_NetworkAdapterConfiguration    Boolean    DHCPEnabled
 Win32_NetworkAdapterConfiguration    DateTime   DHCPLeaseExpires
 Win32_NetworkAdapterConfiguration    DateTime   DHCPLeaSEObtained
 Win32_NetworkAdapterConfiguration    String     DHCPServer
------------------------------------ ---------- -------------------------

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

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

特别:

netsh interface ipv4 show dns

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

猜你在找的Windows相关文章