web-dev-qa-db-ja.com

Windows Server 2008 R2でSet-DnsClientServerAddressに相当するものを取得するにはどうすればよいですか?

Windows Server 2008でプログラムでネットワークアダプタのDNSアドレスを設定するにはどうすればよいですか? Set-DnsClientServerAddressはサポートされていないようです。

3
Josh Kodroff

PowerShellを介してこれを行うことはできません( ドキュメント これについては明示されていませんが、Server 2008がページの上部にリストされていないことがわかります)が、netsh

netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1
4
TheFiddlerWins

PowerShellを要求したので、WMIを使用して、_Win32_NetworkAdapterConfiguration_プロバイダーを介して設定できます。

_Get-WMIObject win32_NetworkAdapterConfiguration
_

これにより、使用しているアダプターが一覧表示され、特定のアダプターを選択できます。

_$adapter = Get-WMIObject win32_NetworkAdapterConfiguration -Filter "Index=X"
# or use PowerShell filtering
$adapter = Get-WMIObject win32_NetworkAdapterConfiguration | Where-Object { $_.Index -eq X }
_

次に、SetDNSServerSearchOrder()メソッドを使用してアドレスを設定します。

_$adapter.SetDNSServerSearchOrder("8.8.8.8")
# or a list
$dns_servers = "8.8.8.8", "8.8.4.4"
$adapter.SetDNSServerSearchOrder($dns_servers)
_

ボーナスワンライナー:

_(gwmi win32_networkadapterconfiguration -Filter "index=x").SetDNSServerSearchOrder(@("8.8.8.8","8.8.4.4"))
_
3
john