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

时间:2013-05-29 02:11:06

标签: wmi

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

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration

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

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration
WHERE DNSServerSearchOrder!=null

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

4 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

请使用此

WHERE IPEnabled=True

答案 2 :(得分:0)

这是一篇较旧的文章,但我今天需要Powershell自己提供此信息,以列出用作系统上DNS服务器的IP地址:

"columnDefs": [
{
    "targets": 3,
    "render": function (data, type, row, meta) {

        if (type === 'display') {
            if (data === "True") {
                return "<input disabled='disabled' class='check-box' type='checkbox' checked='checked'>";
            }
            else return "<input disabled='disabled' class='check-box' type='checkbox'>";
        }

        return data;
    }
}]

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

答案 3 :(得分:-1)

你是否正在寻找这个:

SELECT DNSServerSearchOrder
FROM Win32_NetworkAdapterConfiguration
WHERE DNSServerSearchOrder IS NOT NULL