可以从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获取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服务器”的行.