如何使用c + +得到Windows DNS后缀search列表

如何从IPconfiguration使用C + +获得Windows DNS后缀的serach列表? (.NET <= 3.5)

你可以从注册表中获取它们。

如果从网络控制面板设置:

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

如果按组策略设置:

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

使用Registry类读取 ,可以使用相同的类设置,但是,您将需要管理员权限来执行此操作。

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); } } } }