如何从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); } } } }