2

Windows 7 で DNS サーバーが明示的に定義されているかどうかをプログラムで検出するにはどうすればよいですか。

ここに画像の説明を入力

を使用して静的 IP アドレスを識別できますIPv4InterfaceProperties::IsDhcpEnabledが、DNS の同様の設定が見つかりません。

試してみましIPInterfaceProperties::IsDnsEnabledIPInterfaceProperties::IsDynamicDnsEnabledが、Windowsダイアログで設定を変更しても、どちらも変更されていないようです。

私が書いている単体テストのセットアップ/破棄を実行できるように、この情報を取得する必要があります。

私も試しIPInterfaceProperties::DnsAddressesました。これにより、静的に指定されたアドレスがリストされます。指定されていない場合は、ネットワークからそれらを取得しているように見えます (DHCP および DNS サーバーが実行されています)。以前に動的に設定されていた場合、ティアダウン メソッドで DNS サーバーを明示的に設定したくありません。

4

1 に答える 1

0

これは純粋な .net ソリューションではありませんが、実行すると次のようになります。

netsh -c interface dump > current_network_settings.txt

テスト前と:

netsh -f current_network_settings.txt

テストが実行されたら、開始した場所に戻る必要があります。

于 2012-04-13T13:36:07.007 に答える