Server Core, Minshell y Server con GUI en Windows Server 2012
Hola
En Windows Server 2012 podemos elegir en el momento de la instalación si queremos un servidor en modo “Server Core” o con toda la interfaz gráfica:
Sin embargo, al contrario de lo que sucedía en el caso de su antecesor Windows Server 2008 R2, la elección no nos compromete y se puede cambiar de un modo a otro a posteriori simplemente agregando o quitando características, y además tenemos un modo intermedio, conocido como MinShell (estrictamente Minimal Server Interface), en el que tendremos disponibles el Server Manager y las consolas de gestión pero no el resto de la GUI:
Además, también tenemos a la herramienta SCONFIG, no solamente en server Core, sino también en MinShell y con el escritorio completo:
Para más información sobre que incluye cada opción podéis consultar la tabla del final de esta página: https://technet.microsoft.com/en-us/library/hh831786(v=ws.11).aspx.
Vamos a ver como cambiar de un modo a otro, cómodamente con el Server Manager, o por línea de comando mediante Powershell o el Deployment Image Service Manager (DISM):
Usando el Server Manager
Mediante el Server Manager podemos hacer los cambios simplemente agregando o quitando características, bien sobre el servidor local, bien en remoto:
- De Server con GUI a MinShell: Desmarcamos “Server Graphical Shell”
- De Server con GUi a Server Core: Desmarcamos “Server Graphical Shell” y “Graphical Management Tools and Infrastructure”
- De MinShell a Server Core: Desmarcamos “Graphical Management Tools and Infrastructure” (tendremos “Server Graphical Shell” ya desmarcado)
- De MinShell a Server con GUI: Marcamos “Server Graphical Shell”
- De Server Core a MinShell: Marcamos “Graphical Management Tools and Infrastructure”
- De Server Core a Server con GUI: Marcamos “Server Graphical Shell” y “Graphical Management Tools and Infrastructure”
Debido a que Server Core no tiene el server Manager, no podremos realizar los dos últimos desde el propio servidor objetivo, pero si remotamente desde cualquier otro equipo que tenga las herramientas de gestión instaladas.
Mediante DISM:
Para hacer los cambios anteriores por línea de comandos tenemos que saber cuales son los nombres de los paquetes de Windows equivalentes a las opciones que se muestran en el Server Manager:
- Graphical Management Tools and Infrastructure –->
Server-Gui-Mgmt-Infra
- Server Graphical Shell –> Server-Gui-Mgmt
Con lo que nos quedaría:
- De Server con GUI a MinShell:
- DISM /Online /disable-feature /featurename:Server-Gui-Mgmt
- De Server con GUi a Server Core:
- DISM /Online /disable-feature /featurename:Server-Gui-Mgmt /featurename:
Server-Gui-Mgmt-Infra
- DISM /Online /disable-feature /featurename:Server-Gui-Mgmt /featurename:
- De MinShell a Server Core:
- DISM /Online /disable-feature /featurename:
Server-Gui-Mgmt-Infra
- DISM /Online /disable-feature /featurename:
- De MinShell a Server con GUI:
- DISM /Online /enable-feature:Server-Gui-Mgmt
- De Server Core a MinShell:
- DISM /Online /enable-feature:
Server-Gui-Mgmt-Infra
- DISM /Online /enable-feature:
- De Server Core a Server con GUI:
- DISM /Online /enable-feature:
Server-Gui-Mgmt-Infra /enable-feature:Server-Gui-Mgmt
- DISM /Online /enable-feature:
Mediante PowerShell:
Muy similar al método anterior, pero usando los cmdlets Install-WindowsFeature y Uninstall-WindowsFeature, o sus alias Add-WindowsFeature y Remove-WindowsFeature. El nombre de los módulos es igual que en el caso anterior y si la operación implica a mas de uno simplemente los separaremos por comas.
- De Server con GUI a MinShell:
- Uninstall-WindowsFeature Server-Gui-Mgmt –Restart
- De Server con GUi a Server Core:
- Uninstall-WindowsFeature Server-Gui-Mgmt,,
Gui-Mgmt-Infra –Restart
- Uninstall-WindowsFeature Server-Gui-Mgmt,,
- De MinShell a Server Core:
- Uninstall-WindowsFeature Server-Gui-Mgmt-Infra –Restart
- De MinShell a Server con GUI:
- Install-WindowsFeature Server-Gui-Mgmt –Restart
- De Server Core a MinShell:
- Install-WindowsFeature
Server-Gui-Mgmt-Infra –Restart
- Install-WindowsFeature
- De Server Core a Server con GUI:
- Install-WindowsFeature
Server-Gui-Mgmt-Infra,Server-Gui-Mgmt –Restart
- Install-WindowsFeature
¿Cual opción elegir?
Las diferencias entre las tres opciones se reducen a dos aspectos. La gestionabilidad local (que no remota) del servidor y la compatibilidad de algunas aplicaciones que pudiéramos necesitar instalar en el, y el thumprint de la instalación. Esto último más que al rendimiento afecta sobre todo a la necesidad de actualizar los componentes que agregamos o eliminamos (por poner un ejemplo, Internet Explorer). Sin embargo, dado que podemos cambiar de un modo a otro, la elección no es tan crítica como en la versión anterior.
Esto es una mera opinión personal:
- Server con GUI: Para pruebas, formación, generación de maquetas, toma de contacto con nuevo hardware del que no conozcamos completamente todos sus componentes, escenarios de solución de problemas complejos, o, simplemente, como estación avanzada de trabajo
- Server Core: Despliegue de grandes plataformas homogéneas y estandarizadas, generalmente automatizadas, cargas de trabajo muy especializadas y estables, servidores que requieran de un uptime continuado debido a que su carga de trabajo no puede ser desplazada a otro servidor, etc.
- MinShell: en escenarios en los que la costumbre nos arrastre a hacer conexiones remotas a cada servidor para ejecutar las consolas de administración localmente, pero donde no necesitemos correr otro tipo de aplicaciones. En estos casos eliminar posibles vectores de ataque y reducir los ciclos de actualizaciones al máximo puede resultar muy interesante.
Y, ¿qué es eso de Desktop Experience?
No hemos cubierto esta opción que se usa, siempre por encima de la “Server con GUI”, principalmente en dos escenarios. El primero, mencionado anteriormente, es cuando queremos usar un Windows Server como estación de trabajo, y queremos tener una experiencia de Windows Cliente, en este caso de Windows 8. El otro, muy cercano al anterior, es el tradicional de Remote Desktop Services, donde los usuarios se van a conectar a un servidor de sesiones, o a una colección (granja) de ellos, con experiencia de escritorio completo, y les queremos dar la experiencia de un Windows 8 completo, con su Aero, su Store, etc.. Activando esta opción, nos queda una cosa así:
Saludos
Comments
Anonymous
August 13, 2013
Hola! Gracias por el blog. Una correción en la parte de pasar de Server Core a GUI por powershell hay un error. la forma correcta es: De Server Core a Server con GUI: Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart Saludos!Anonymous
April 16, 2014
The comment has been removedAnonymous
June 20, 2015
a mi me pasa lo mismo no va mas de 68 %