Script para cambiar los servidores DNS en los clientes
By danialonso On 30 Nov, 2010 At 04:03 PM | Categorized As Scripting, Tutorial, Windows Server | With 1 Comment



Tras petición de un usuario en los foros de Microsoft TechNet… Este script nos puede ser muy útil cuando realizamos alguna migración de servidores.
Si los clientes de nuestra red están bajo DHCP, no hay ninguna complicación, pero si los tenemos configurados con IPs estáticas, resultará mucho más cómodo hacer el cambio de DNS mediante este script.

La idea es poner este script en el inicio de sesión de los clientes mediante GPO:

Cambiar DNS mediante Script

 

On Error Resume Next

strComputer = «.»
Set objWMIService = GetObject(«winmgmts:» _
& «{impersonationLevel=impersonate}!\» & strComputer & «rootcimv2»)

Set colNetCards = objWMIService.ExecQuery _
(«Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True»)

For Each objNetCard in colNetCards
arrDNSServers = Array(«Servidor_DNS_1», «Servidor_DNS_2»)
objNetCard.SetDNSServerSearchOrder(arrDNSServers)

Next

 

Aquí os dejo otro script muy bueno. Este verificará si ya tiene las DNS nuevas, en caso contrario, las cambiará. Por gentileza de nuestro compañero Fernando Reyes (Microsoft MVP):

On Error Resume Next

strComputer = «.»
strDNSNuevas = «Servidor_DNS_1,Servidor_DNS_2»

Set objWMIService = GetObject(«winmgmts://» _
& «{impersonationlevel=impersonate}|\» & strComputer & «rootcimv2»)

Set colNetCards = objWMIService.ExecQuery _
(«SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IpEnabled = True»)

For Each objNetCard In colNetCards
strDNSs = Join(objNetCard..DNSServerSearchOrder,»,»)
If strDNSs <> strDNSNuevas Then
objNetCard.Set.DNSServerSearchOrder(Join(strDNSNuevas,»,»))
End If
Next

 

Y esto es todo amigos!

About -