获取静态的接口及其DNS服务器(未分配dhcp)

问题描述 投票:1回答:1

我正在尝试通过WMI建立静态的网络接口的DNS服务器(由用户放置)。除了静态部分,我有这个脚本可以工作:

Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DNSServerSearchOrder -ne $null} | Select DnsServerSearchOrder,Index,InterfaceIndex

这将导致如下输出:

DnsServerSearchOrder   Index InterfaceIndex
--------------------   ----- --------------
{192.168.122.1}            1              6
{1.1.1.1}                  2             10

具有192.168.122.1的接口已将DNS设置为DHCP,因此该值对我不利。如何过滤掉dns不是静态的接口?有什么想法吗?

netsh interface ip show config

Configuration for interface "Ethernet"
    DHCP enabled:                         Yes
    IP Address:                           192.168.122.130
    Subnet Prefix:                        192.168.122.0/24 (mask 255.255.255.0)
    Default Gateway:                      192.168.122.1
    Gateway Metric:                       0
    InterfaceMetric:                      35
    DNS servers configured through DHCP:  192.168.122.1
    Register with which suffix:           Primary only
    WINS servers configured through DHCP: None

Configuration for interface "Ethernet 2"
    DHCP enabled:                         Yes
    IP Address:                           10.0.0.17
    Subnet Prefix:                        10.0.0.0/24 (mask 255.255.255.0)
    Default Gateway:                      10.0.0.1
    Gateway Metric:                       0
    InterfaceMetric:                      35
    Statically Configured DNS Servers:    1.1.1.1
    Register with which suffix:           Primary only
    WINS servers configured through DHCP: None

注意Statically Configured DNS ServersDNS servers configured through DHCP之间的术语差异。我以为我可以解析此输出,但是我不确定如果更改了Windows语言/区域设置,是否可以依靠此文本,并且我宁愿使用WMI界面。

powershell wmi
1个回答
0
投票

经过足够的扑朔迷离,我找到了解决方案,但我不是100%积极的正确方法。在所有DHCP DNS服务器上,DNS值包含一个IP地址,并且该IP地址等于Default Gateway值。当这些值匹配时,我们正在处理DHCP DNS服务器,并且未进行静态配置。

© www.soinside.com 2019 - 2024. All rights reserved.