使用WMI查询确定没有空条目的DNS服务器

5
我可以使用以下WMI查询来确定我的计算机正在使用哪些DNS服务器:
SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration

然而,我编写的以下查询以忽略空条目是无效的,但我不知道为什么:

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration
WHERE DNSServerSearchOrder!=null

有没有办法过滤掉空条目?
4个回答

8

1

这是一篇较旧的文章,但我今天需要这些信息。从Powershell列出系统使用的IP地址作为DNS服务器:

Get-WmiObject -Namespace root\cimv2 -Query "Select dnsserversearchorder from win32_networkadapterconfiguration" | where {$_.DNSServerSEarchOrder -ne $null} | select -ExpandProperty DNSServerSearchOrder

这将导致一个简单的IP地址数组,可进一步在Powershell中使用,可以发送到变量或通过管道传递到另一个命令。

这正好按照预期工作。谢谢。尝试自动将DNS传输到WSL2实例。 - Matt

1

只需使用这个

WHERE IPEnabled=True

-1

您是在寻找这个吗:

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration
WHERE DNSServerSearchOrder IS NOT NULL

那似乎也是无效的,你在 Powershell 中试过了吗? - John Calder
不,只是有效的SQL - 你正在使用这个吗:http://msdn.microsoft.com/en-us/library/windows/desktop/aa394605(v=vs.85).aspx - sgeddes
据我所知,语法应该是正确的,因为“SELECT DHCPServer FROM Win32_NetworkAdapterConfiguration WHERE DHCPServer!= null”是有效的。 - John Calder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接