简体   繁体   English

如何使用c ++获取Windows DNS后缀搜索列表

[英]How to get Windows DNS suffix search list using c++

How to get windows dns suffix serach list from ip configuration using c++ ? 如何使用c ++从ip配置获取windows dns后缀serach列表? (.NET <= 3.5) (.NET <= 3.5)

You can get them from the registry. 您可以从注册表中获取它们。

If set from the network control panel: 如果从网络控制面板设置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\SearchList

If set by Group Policy: 如果由组策略设置:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\SearchList

Use the Registry class to read , the same class can be use set but, you will need admin permissions to do so. 使用Registry类进行读取 ,同一个类可以使用set,但是,您需要具有管理员权限才能执行此操作。

C# using Management and WMI Classes: C#使用管理和WMI类:

ManagementObjectSearcher q= new ManagementObjectSearcher("SELECT ServiceName,DNSDomainSuffixSearchOrder FROM Win32_NetworkAdapterConfiguration");// WHERE DNSDomainSuffixSearchOrder IS NOT NULL");
var qc= q.Get();

foreach (ManagementObject mo in qc)
{
    if ( mo.Properties["DNSDomainSuffixSearchOrder"] != null)
    {
        var s = mo.Properties["DNSDomainSuffixSearchOrder"];
        if (s.Value != null)
        {
            Console.WriteLine(mo["ServiceName"]);
            string[] sfxNames = s.Value as string[];
            foreach (string sx in sfxNames)
            {
                Console.WriteLine(sx);
            }
        }
    }
} 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM