ネットワークインターフェイスのDNSサーバーの検索順序は、Powershellの次のようにWin32_NetworkAdapterConfigurationから読み取るか、.NetManagementObjectsを使用してプログラムで読み取ることができます。
> $NICs = Get-WMIObject Win32_NetworkAdapterConfiguration | where{$_.IPEnabled -eq “TRUE”}
> $NICs[0]["DnsServerSearchOrder"]
192.168.1.1
192.168.1.2
WMIプロパティは、インターフェイスがDHCPから取得するように構成されているか、手動で設定されているかに関係なく、アクティブなDNSサーバーに設定されます。
次のように固定サーバーに設定できます。
> $DNSServers = “198.102.234.125″,”198.102.234.126″
> $NIC.SetDNSServerSearchOrder($DNSServers)
DHCPサーバーからDNSを使用するようにアダプターを設定するには、次のようにnullを指定してset関数を呼び出します。
> $NIC.SetDNSServerSearchOrder()
レジストリでこの設定の特徴的な痕跡を見つけることができませんでした。
DHCPサーバーを使用してDNSサーバーを取得するようにインターフェイスが現在設定されていることを確認する方法はありますか?
通常、クライアントがDHCPからIPを取得している場合、クライアントは通常DNSサーバーも取得します。
しかし、WMIのリクエストについては、そうは思いません。
DNSの場合、次のプロパティがあります。
------------------------------------ ---------- -------------------------
Class Name Type Property Name
------------------------------------ ---------- -------------------------
Win32_ComputerSystem String DNSHostName
Win32_NetworkAdapterConfiguration String DNSDomain
Win32_NetworkAdapterConfiguration String DNSDomainSuffixSearchOrder
Win32_NetworkAdapterConfiguration Boolean DNSEnabledForWINSResolution
Win32_NetworkAdapterConfiguration String DNSHostName
Win32_NetworkAdapterConfiguration String DNSServerSearchOrder
Win32_NetworkAdapterConfiguration Boolean DomainDNSRegistrationEnabled
Win32_NetworkAdapterConfiguration Boolean FullDNSRegistrationEnabled
Win32_NTDomain String DnsForestName
Win32_NTDomain Boolean DSDnsControllerFlag
Win32_NTDomain Boolean DSDnsDomainFlag
Win32_NTDomain Boolean DSDnsForestFlag
------------------------------------ ---------- -------------------------
DHCPの場合:
------------------------------------ ---------- -------------------------
Class Name Type Property Name
------------------------------------ ---------- -------------------------
Win32_NetworkAdapterConfiguration Boolean DHCPEnabled
Win32_NetworkAdapterConfiguration DateTime DHCPLeaseExpires
Win32_NetworkAdapterConfiguration DateTime DHCPLeaseObtained
Win32_NetworkAdapterConfiguration String DHCPServer
------------------------------------ ---------- -------------------------
上記のうち、特にDHCPからDNSサーバーを取得していることを示すものはありません。 DNSServerSearchOrder
はアレイ内のサーバーを一覧表示しますが、「DHCPサーバーから取得したものです。
編集:ただし、WMIについて述べたことはすべて、古いnetsh
コマンドを使用することです。
具体的には:
netsh interface ipv4 show dns
"DHCPを介して構成されたDNSサーバー"と呼ばれる行があることに注意してください。
システムでGet-WMIObjectWin32_NetworkAdapterConfigurationを実行すると、最初のプロパティ出力が次のように表示されます。
DHCPEnabled:True
残念ながら、これはDHCP情報に最も近い方法であり、明らかにDNS情報を指定していません。 Microsoftのドキュメントによると、WMIオブジェクトWin32_NEtworkAdapterConfigurationはその設定を保持していません。
http://msdn.Microsoft.com/en-us/library/aa394217%28v=vs.85%29.aspx