4

c++ を使用して IP 構成から Windows DNS サフィックス検索リストを取得する方法は? (.NET <= 3.5)

4

1 に答える 1

4

それらはレジストリから取得できます。

ネットワークコントロールパネルから設定する場合:

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

グループ ポリシーで設定されている場合:

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

Registry クラスを使用して読み取ります。同じクラスを set に使用できますが、そのためには管理者権限が必要です。

管理および WMI クラスを使用する C#:

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);
            }
        }
    }
} 
于 2013-04-23T13:46:51.190 に答える