Назад | Перейти на главную страницу

Как получить эквивалент Set-DnsClientServerAddress в Windows Server 2008 R2?

Как программно установить DNS-адрес для сетевого адаптера в Windows Server 2008? Это выглядит как Set-DnsClientServerAddress не поддерживается.

Это невозможно сделать через PowerShell (документы не прямо об этом, но вы можете видеть, что Server 2008 не указан в верхней части страницы), но вы можете использовать netsh:

netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1

Поскольку вы просили 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"))