Como obtenho o equivalente a Set-DnsClientServerAddress no Windows Server 2008 R2?

3

Como defino o endereço DNS para um adaptador de rede programaticamente no Windows Server 2008? Parece que Set-DnsClientServerAddress não é suportado.

    
por Josh Kodroff 07.07.2015 / 15:19

2 respostas

4

Não é possível fazer isso por meio do PowerShell ( os documentos não são explícitas sobre isso, mas você pode ver que o Server 2008 não está listado no topo da página), mas você pode usar netsh :

netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1
    
por 07.07.2015 / 15:28
3

Como você solicitou o PowerShell, é possível usar o WMI e configurá-lo por meio do provedor Win32_NetworkAdapterConfiguration :

Get-WMIObject win32_NetworkAdapterConfiguration

Isto irá listar os adaptadores que você tem, então você pode selecionar um específico:

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

Então você usa o método SetDNSServerSearchOrder() para definir o (s) endereço (s):

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

One-liner de bônus:

(gwmi win32_networkadapterconfiguration -Filter "index=x").SetDNSServerSearchOrder(@("8.8.8.8","8.8.4.4"))
    
por 11.07.2015 / 10:27