3.5. Instalar un dominio básico desde la línea de comandos
En ocasiones, en lugar de utilizar los asistentes para realizar operaciones de instalación y mantenimiento, es más rápido tener preparado un pequeño script, o un archivo de respuesta para los comandos implicados. De este modo, buena parte del proceso estará automatizado.
Lógicamente, el problema que se plantea es disponer de la habilidad y los conocimientos necesarios para implementar este tipo de recursos. En este apartado intentaremos explicar de forma detallada cómo conseguirlo, y lo vamos a hacer dividiendo el trabajo en dos partes: En primer lugar, veremos cómo cambiar el nombre al servidor y configurar la red para que la instalación del controlador del dominio se realice sin problemas. En segundo lugar, explicaremos cómo automatizar también la instalación del propio controlador. En resumidas cuentas, veremos cómo conseguir desde la línea de comandos los mismos resultados que hemos obtenido hasta ahora con la interfaz gráfica.
Realizar la configuración previa del servidor
Como acabamos de decir más arriba, lo primero será establecer un nombre y una configuración de red adecuada para el servidor. Esta tarea podemos enfocarla de dos formas diferentes: escribir un script que contenga los valores adecuados de forma preestablecida o que dichos valores pueda escribirlos el usuario en el momento de ejecutar el script.
Pienso que la segunda solución es más flexible, aunque algo más compleja de desarrollar. Sin embargo, como aquí estamos para eso, será así como lo resolvamos. No obstante, si tú prefieres incluir los valores dentro del propio código del script de manera que no tengas que escribir nada en el momento de ejecutarlo, verás que, una vez explicado este apartado, te resulta muy fácil realizar las modificaciones adecuadas.
En definitiva, el script que usaremos lo tienes a continuación. Las líneas aparecen numeradas para poder explicarlas más abajo, pero es preciso que tengas en cuenta que el número no forma parte del script.
Contenido del script:
@echo off
for /f %%a in ('hostname') do set ant=%%a
echo Nombre actual del servidor: %ant%
set /p nue= Escribe un nombre nuevo para el servidor:
netdom renamecomputer %ant% /newname:%nue%
echo Los valores actuales para la red son:
netsh interface ipv4 show interfaces
echo Nuevos valores de red:
set /p int= Elije la tarjeta de red:
set /p ip= Escribe la dirección IP fija:
set /p subred= Escribe la máscara de red:
set /p gateway= Escribe la puerta de enlace:
netsh interface ipv4 set address name=%int% source=static address=%ip% mask=%subred% gateway=%gateway%
netsh interface ipv4 add dnsserver name=%int% address=%ip% index=1
echo Cambios efectuados. Los valores actuales para la red son:
netsh interface ipv4 show address
pause
ipconfig /all
A continuación veremos, línea a línea, qué hace el script anterior:
- Evitamos que aparezcan las ordenes en pantalla. De esta forma, los resultados obtenidos en pantalla serán más claros.
- Obtenemos el resultado de ejecutar el comando hostname (el nombre actual del servidor) y lo guardamos en la variable ant.
- Mostramos en pantalla el nombre que tiene el servidor en este momento.
- Pedimos que se introduzca por teclado el nuevo nombre que queremos que tenga el servidor. Lo que se escriba, se guarda en la variable nue.
- Se sustituye el nombre antiguo del servidor por el nombre nuevo.
- Mostramos un texto que ayude a interpretar los datos que aparezcan a continuación.
- Se muestran los valores actuales para las interfaces de red que tengamos en el servidor.
- Mostramos un texto que ayude a interpretar los datos que se nos pide a continuación.
- Pedimos que se introduzca por teclado el número de la interfaz de red que vamos a configurar. Lo que se escriba, se guarda en la variable int.
- Pedimos que se introduzca por teclado la dirección IP estática que estableceremos para el servidor. Lo que se escriba, se guarda en la variable ip.
- Pedimos que se introduzca por teclado la máscara de red que estableceremos para el servidor. Lo que se escriba, se guarda en la variable subred.
- Por último, hacemos lo mismo con la puesta de enlace. Lo que se escriba, se guarda en la variable gateway.
- Establecemos los valores que se han recibido por teclado.
- También establecemos los valores correspondientes al servidor DNS para la tarjeta de red.
- Mostramos un texto que ayude a interpretar los datos que se ofrecen a continuación.
- Se muestran los nuevos valores para la interfaz de red
- Se pide que el usuario pulse una tecla antes de continuar, para evitar que parte de los datos se pierdan de la pantalla
- Finalmente, se muestran todas la configuraciones de red del equipo.
Instalar el dominio
Después de configurar el servidor con el nombre y las características de red que necesitamos, llega el turno de automatizar la instalación del controlador de dominio. En este caso, utilizaremos el comando dcpromo, que ya conocemos de apartados anteriores. La diferencia es que dcpromo admite lo que se conoce como un archivo de respuesta, que no es más que un archivo, en formato de texto plano, que contiene la información que hasta ahora habíamos ido aportando en las diferentes etapas del asistente.
Incluso podríamos incluir una línea más en el script anterior para que, después de configurar el servidor, se iniciara automáticamente la instalación del dominio (por supuesto que también podemos escribirla, a mano, en la ventana de comandos). La orden sería así:
Sintaxis de la orden:
dcpromo /answer:e:respuesta.txt
Aquí estamos suponiendo que el archivo de respuesta se llama, precisamente, respuesta.txt y que lo tenemos almacenado en la carpeta raíz de la unidad e: (por ejemplo un dispositivo de almacenamiento USB).
Ya sólo nos queda ver cómo debería ser el contenido del archivo de respuesta. Como antes, numeraremos sus líneas para poder explicarlo más fácilmente (aunque no debemos olvidar que dichos número, en realidad, no forman parte del contenido del archivo).
Contenido del archivo de respuesta:
[DCINSTALL]
ReplicaorNewDomain=Domain
NewDomain=Forest
ForestLevel=3
DomainLevel=3
DomainNetBiosName=somebooks
NewDomainDNSName=somebooks.local
RebootonSuccess=Yes
SiteName=”somebooks”
InstallDNS=Yes
SafeModeAdminPassword=mipASs123
A continuación analizaremos, línea a línea, el archivo de respuesta anterior:
- La línea [DCINSTALL] sólo sirve para que el comando dcpromo identifique el archivo de respuesta como suyo
- La entrada ReplicaorNewDomain se utiliza sólo en instalaciones nuevas. El valor Domain indica que el servidor será el primer controlador de dominio de un dominio nuevo.
- Para la entrada NewDomain el valor Forest indica que el nuevo dominio será el primero de un nuevo bosque.
- La entrada ForestLevel indica el nivel de funcionalidad del bosque:0 = Windows 2000 Server, 2 = Windows Server 2003, 3 = Windows Server 2008. En este caso, hemos elegido el nivel 3. (No se debe utilizar esta entrada cuando instalemos un controlador de dominio nuevo en un bosque que ya existe)
- La entrada DomainLevel indica el nivel de funcionalidad del dominio y sigue las mismas pautas que la entrada anterior.
- La entrada DomainNetBiosName contiene el nombre NetBIOS que utilizan los clientes anteriores a Active Directory Domain Services para acceder al dominio. El nombre que indiquemos debe ser único en la red.
- La entrada NewDomainDNSName se utiliza tanto en instalaciones de árboles nuevos en bosques existentes como en instalaciones de bosques nuevos. El valor debe ser un nombre DNS para el dominio que aún no se esté utilizando.
- La entrada RebootonSuccess indica si el servidor debe reiniciarse cuando se haya completado la instalación. El reinicio es necesario para completar la promoción del servidor a controlador de dominio.
- Cuando instalamos un bosque nuevo, como es el caso, la entrada SiteName indica el nombre del nuevo sitio
- La entrada InstallDNS indica que se instale un servidor DNS
- La entrada SafeModeAdminPassword indica la contraseña que utilizaremos cuando el controlador de dominio se inicie en el modo de restauración. Debemos recordar que, por cuestiones de seguridad, esta contraseña puede ser diferente de la que tiene la cuenta Administrador del dominio.
Para obtener información acerca de otras entradas que podemos utilizar el el archivo de respuesta, así como otros posibles valores para las entradas que hemos utilizado aquí, se puede consultar la página http://support.microsoft.com/kb/947034