Quitar aplicaciones predeterminadas de Windows 8 durante la instalación con Microsoft Deployment Toolkit

Ya he tocado en varios artículos aquí diferentes cosas referente a las Aplicaciones de Interfaz Moderna de Windows 8, antes conocidas como aplicaciones “Metro”. Sin embargo, en este artículo no promoveré necesariamente su despliegue o utilización, sino más bien una forma de salir de algunas de ellas rápidamente.

Windows 8/8.1 incluye una gran cantidad de aplicaciones de Interfaz Moderna preinstaladas, incluyendo una serie dedicada a Comunicaciones, algunas para noticias, otras sociales, etc. Pensando en implementación corporativa de Windows 8, como es posible que la empresa quiera sacar provecho de esto e incluso hacer Sideloading de sus propias aplicaciones, otras querrán hasta impedir el acceso completo a la Tienda o cualquier aplicación de este tipo instaladas, sea quitándolas, o a través de políticas creadas por AppLocker.

En este artículo les mostraré cómo podemos aprovechar el despliegue de Windows 8 que estemos realizando con Microsoft Deployment Toolkit 2012/2013 para que una vez instalado el sistema operativo, se quiten todas las aplicaciones de Interfaz Moderna embebidas, exceptuando por supuesto la de Internet Explorer y la Tienda pues son necesarias y no se pueden quitar.

Requerimientos

1. Un Equipo técnico que tenga instalado Windows Server 2008 R2/2012/2012 R2 con el ADK para Windows 8/8.1 y Microsoft Deployment Toolkit 2012/2013.

Pueden descargar una versión de prueba de Windows Server 2012 desde aquí:
http://technet.microsoft.com/es-es/evalcenter/hh670538.aspx

El ADK para Windows 8 lo descargan desde aquí, y Microsoft Deployment Toolkit 2012 desde aquí.

*Nota: Si van a trabajar sobre Windows Server 2012 R2 y Windows 8.1, es necesario instalar el ADK para 8.1 y MDT 2013 Preview.

2. Un equipo de referencia que esté en la misma red que el técnico para hacer el despliegue de Windows 8 y quitar las aplicaciones.

Prerequisitos

Con el objetivo de promover los otros artículos que tengo aquí, y para no repetir un proceso que puede ser un poco largo, es necesario basarnos en la instalación y configuración de MDT para instalar Windows 8. El artículo incluye los pasos para agregar aplicaciones, paquetes y crear nuestra Secuencia de Tareas. Lo pueden ver aquí:
http://geeks.ms/blogs/checho/archive/2013/02/05/implementaci-243-n-b-225-sica-de-windows-8-con-mdt-2012-update-1-y-windows-deployment-services.aspx

Este artículo lo iniciaré desde el momento en que ya se ha creado la Primera Secuencia de Tareas, antes de actualizar el Recurso Compartido, agregarlo a WDS y desplegar. Por esta razón es necesario seguir bien el post anterior.

Creando los Scripts de PowerShell

Hace un tiempo, la gente del Blog: “The Deployment Guysescribió un artículo donde nos comparte un sencillo Script de PowerShell que se encargará de desinstalar todas las aplicaciones preinstaladas de Windows 8 que se le haya indicado. Este mismo Script es el que utilizaré aquí, pero es necesario hacer un par de pasos adicionales para que se pueda llamar desde MDT:

1. Copiamos todo el Script a un Bloc de Notas y lo guardamos como RemoveApps.ps1 y lo debemos guardar en la carpeta de Scripts de nuestro Recurso Compartido de MDT. En mi caso, que el recurso se llama DeploymentShare$ y está en la unidad de Windows, la ruta sería: C:DeploymentShareScripts

image

*Nota: El Script completo de PowerShell es este (Obviar las líneas horizontales):


$AppsList = "Microsoft.Bing" , "Microsoft.BingFinance" , "Microsoft.BingMaps" , "Microsoft.BingNews",`
            "Microsoft.BingSports" , "Microsoft.BingTravel" , "Microsoft.BingWeather" , "Microsoft.Camera",`
            "microsoft.microsoftskydrive" , "Microsoft.Reader" , "microsoft.windowscommunicationsapps",`
            "microsoft.windowsphotos" , "Microsoft.XboxLIVEGames" , "Microsoft.ZuneMusic",`
            "Microsoft.ZuneVideo" , "Microsoft.Media.PlayReadyClient"

ForEach ($App in $AppsList)
{
    $PackageFullName = (Get-AppxPackage $App).PackageFullName
    if ((Get-AppxPackage $App).PackageFullName)
    {
        Write-Host "Removing Package: $App"
        remove-AppxProvisionedPackage -online -packagename $PackageFullName
        remove-AppxPackage -package $PackageFullName
    }
    else
    {
        Write-Host "Unable to find package: $App"
    }
}


2. Para que Windows pueda ejecutar este tipo de Scripts, es necesario que la política de ExecutionPolicy debe estar habilidada según el tipo deseado. Para este caso, debemos establecerla con Unrestricted

En un Bloc de Notas nuevamente copiamos (Obviar las líneas horizontales):


Set-ExecutionPolicy Unrestricted


Guardamos el Script como EnablePolicy.ps1 en la misma carpeta de Scripts del Deployment Share.

image

Personalizando la Secuencia de Tareas

Nuestro último paso, por lo menos en MDT, es indicarle a la Secuencia de Tareas creada para el despliegue que utilice los dos Scripts recien creados, primero el de EnablePolicy para que Windows habilite la ejecución, y segundo el de RemoveApps para que las aplicaciones predeterminadas de Microsoft se quiten completamente.

En el Equipo técnico, ejecutamos el Deployment Workbench, abrimos la Secuencia de Tareas haciendo doble clic o clic derecho > Properties y pestaña de Task Sequence. Allí veremos todos los pasos que realiza el Asistente de Implementación de MDT, y que se agregan de forma predeterminada al utilizar Standard Client Task Sequence:

image

Nos ubicamos en el paso de Install Applications, debajo del nodo State Restore, clic en el botón superior de Add > General > Run PowerShell Script

image

Nos debe quedar justo debajo de Install Applications. Lo seleccionamos y en PowerShell script le especificamos el nombre para el primer Script a ejecutar, que en este caso sería: EnablePolicy.ps1

image

Hacemos clic en el botón Apply para que el icono se ponga en verde luego de actualizar.

Realizamos exactamente el mismo procedimiento, pero en PowerShell script le especificamos ahora el nombre del segundo Script, que en últimas es el que necesitamos para desinstalar y quitar las aplicaciones de Windows 8 instaladas predeterminadamente. En este caso: RemoveApps.ps1

Al final, las dos deberían quedar así:

image

*Nota: EnablePolicy.ps1 debe establecerse antes de RemoveApps.ps1 y el nombre para cada tarea puede ser modificado en el campo de Name cuando se está personalizando.

Eso es todo lo que debemos hacer, nuestro último paso es hacer clic derecho en el Deployment Share y seleccionar Update Deployment Share.

image

En el asistente para actualizar, dejamos la opción predeterminada y hacemos clic en el botón Next hasta que haga el proceso y aparezca Finish.

Para implementar, subimos la imagen del LiteTouchPE en nuestro Windows Deployment Services (WDS) tal cual lo expliqué en el post de implementación básica de Windows 8, y pasamos a probar.

Probando despliegue y comportamiento

Para terminar, iniciamos un equipo de referencia por la red y seguimos los pasos indicados en el asistente de instalación de Windows para desplegar el sistema operativo seleccionando la Secuencia de Tareas creada con el propósito de quitar las aplicaciones de Interfaz Moderna preinstaladas.

Para no abordar en lo que ya expliqué en el artículo referenciado, dejaré las capturas de pantalla normales durante el proceso de Lite Touch Installation como referencia:

image image

image image

image image

image image

*Nota: La cantidad de páginas pueden variar dependiendo de lo que hayamos o no indicado en el proceso de configuración desde el MDT, como agregar aplicaciones.

Después de que Windows instale y haya desplegado las aplicaciones, debemos ver un pequeño mensaje notificándonos el proceso para quitar aplicaciones:

R1

Si todo sale bien, pasados un par de minutos, podremos ver la Pantalla de Inicio ahora está solo con las aplicaciones de Interfaz Moderna que no se pueden quitar como IE y la Tienda:

image

*Nota: Si les sale una pequeña advertencia sobre Set-ExecutionPolicy, es porque en Unrestricted puede correr cualquier Script y lo ideal sería manipular esto a través de políticas de grupo así que basta con darle clic al botón Finish.

Espero sea de utilidad.

PD. No olviden seguirme en Twitter: http://www.twitter.com/secalderonr

Saludos,

Checho

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *