Entiendo que cambiar el nombre de host / nombre de la computadora para una máquina basada en Windows (Cliente o Servidor) requiere un reinicio. Me doy cuenta de que una vez que se cambia el nombre de una computadora, un nombre de máquina pendiente se almacena en el registro del sistema y se aplica en el próximo arranque. No pude encontrar mucha documentación técnica sobre exactamente POR QUÉ esto se requería.
¿Alguien puede señalarme en la dirección correcta sobre los desafíos técnicos detrás de por qué un cambio de nombre de host no está completo sin un reinicio del sistema?
Respuestas:
No tiene que reiniciar inmediatamente después de cambiar el nombre de la máquina ... simplemente no espere que todos los servicios y funciones adopten el nuevo nombre.
Cosas como las variables de entorno del sistema se leen una vez, al inicio del sistema. Si cambia esas variables, los diversos componentes de Windows no las detectarán hasta que se reinicien. Algunos de esos componentes están tan profundamente integrados con el sistema operativo, que bien podría reiniciar todo el sistema operativo.
Muchos servicios y aplicaciones de Windows, tanto los escritos por Microsoft como los de terceros, que usan el nombre de host del sistema, generalmente solo lo leen una vez al inicio y nunca lo vuelven a leer.
Sé que si escribiera una aplicación que lea el nombre de host de la máquina, sería bastante tonto de mi parte sondearla periódicamente en caso de que cambiara.
En un sistema operativo como Linux, ves lo mismo. Puede cambiar el nombre de host sin reiniciar, pero debe reiniciar algunos componentes muy básicos del sistema para que puedan elegir el nuevo nombre. Linux es más modular que Windows, aunque Windows ha recorrido un largo camino en términos de modularidad.
Una forma de detectar si un sistema Windows está pendiente de una operación de cambio de nombre de la computadora es verificar el registro. Si el contenido de
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
y
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
no son lo mismo, eso significa que el sistema tiene una operación de cambio de nombre pendiente que se completará la próxima vez que se reinicie el sistema.
fuente
Aquí hay un script para omitir el reinicio: https://gist.github.com/timnew/2373475
fuente