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:
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!