Partager via


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:

image

Además, también tenemos a la herramienta SCONFIG, no solamente en server Core, sino también en MinShell y con el escritorio completo:

image

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:

image

  • 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
  • De MinShell a Server Core:
    • DISM /Online /disable-feature /featurename:Server-Gui-Mgmt-Infra
  • 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
  • De Server Core a Server con GUI:
    • DISM /Online /enable-feature:Server-Gui-Mgmt-Infra /enable-feature:Server-Gui-Mgmt

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
  • 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
  • De Server Core a Server con GUI:
    • Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Mgmt –Restart

¿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í:

image

Saludos

David Cervigón

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 removed

  • Anonymous
    June 20, 2015
    a mi me pasa lo mismo no va mas de 68 %