Cambio de DNSs desde la linea de comando
 

Hace unas semanas un par de viejos amigos me contactaron para que les diera una mano con la migración de dominio.
Charlamos un rato, todo parecía venir bien, tenemos 2 DCs en 2008 R2 y queremos migrar el dominio a 2012 R2... fácil... por lo menos hasta ahi..
Datos van, datos vienen... cuantos usuarios?.. ok... cuantas PCs??? ok... hasta que se ocurrió consultar.. cuantas tienen IP fija?... casi todas... y ahi se acabaron las buenas noticias..

No me gusta caminar

Bueno.. el dato general sería que teníamos alrededor de 4 sites, unas 400 pc con ip fija... y no me gusta caminar.... asi que vamos a ver que hacemos..

Revisando el esquema, nos encontramos que si bien casi siempre la instalación de la PC es igual.. en algunos casos difería por lo que vimos varias alternativas.. pero recurrimos a un cmd (o batch como quieran llamarle)

Mi viejo amigo .. sysinternals

Todo administrador de red, va formando a lo largo de tiempo un grupo de herramientas que le llegan a ser indispensables... en mi caso hay muchas... pero una de las que más utilizo.. es el pack de sysinternals.

Sysinternals desde hace un tiempo disponible desde la página de Microsoft, fue desarollado por Mark Russinovich, alavado sea el señor, nos ha ahorrado horas y horas de trabajo

En este caso, usamos la herramienta PSEXEC, porque nos permite ejecutar algo en un equipo remoto..

Ok.. pero igual son 400 pcs.. que ejecutamos?

Solucionado el tema de poder ejecutar algo en un equipo remoto... lo que nos quedaba ahora era ver como cambiar los DNSs en dichos equipos.. para ello recurrimos a NETSH

Ah... ok... si..si, los escucho... podría haber .. y también podría... pero esto resultó lo más rápido...

Aqui el batchero que utilizando...

Sencillo no?

El batchero puede usar 1 parámetros, el nombre del equipo destino... o bien 2 parámetros... el nombre del equipo destino y la placa a cambiar..

Si se pasa solo el equipo destino como parámetros, el batch se limita a mostrar en pantalla la configuración actual, y via NETSH obtener todas las interfaces de red que tiene.. para poder estar seguros del nombre de la interfaz a cambiar..

Si se pasan 2 parámetros, el 2do será el nombre de la interfaz de red a cambiar (observan el ~ entre el % y el número de parámetro... es para que se acepten parámetros con espacios.. de los contrario "Conexión de área local" se interpretaría como si fueran 4 parámetros..).

Los pasos en el batch están indicados, o sea, para que esto funcione, se debe tener la herramienta PSEXEC de sysinternals descargada en c:\tools..

Conclusiones

La caminata es muy buena para la salud... pero no para este caso... hay mil forma diferentes de cambiar remotamente la configuración de los DNSs, en este caso optamos por combinar NETSH y PSEXEC, podríamos haber usado un script de logon, una policy de AD, y otras variantes.. pero preferimos esta.

Obviamente que tener un DHCP y relays para las locaciones remotas hubiera sido ideal.. pero no contábamos con eso.

Requerimientos... si obvio.. los puertos de firewall correspondientes abiertos dentro del dominio para que el equipo desde donde disparan la actualización se pueda conectar y ejecutar (135, 445 TCP, y los shares admin$ y tambien IPC$)....
Como? eso da para otra nota...

 

 

Volver a lista de Notas