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

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

我可以使用以下WMI查询来确定我的机器可能正在使用的任何DNS服务器:

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration

但是,我写的忽略空条目的以下查询无效,我不知道原因:

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration
WHERE DNSServerSearchOrder!=null

有没有办法过滤掉空条目?

wmi
4个回答
7
投票

WQL语言supports !=IS [NOT] NULL语法,问题是你选择的属性DNSServerSearchOrder是一个数组,和you can't use an array property in a WQL Where sentence。因此,解决方法是在where条件中使用Win32_NetworkAdapterConfiguration WMI类的另一个属性。


1
投票

只需使用它

WHERE IPEnabled=True

0
投票

这是一篇较旧的帖子,但我今天自己需要这些信息,从Powershell列出在系统上用作DNS服务器的IP地址:

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

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


-1
投票

你在寻找这个:

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration
WHERE DNSServerSearchOrder IS NOT NULL
© www.soinside.com 2019 - 2024. All rights reserved.