La pantalla verde de la muerte (GSOD) al iniciar sesión, Windbg, Windows PE, Autoruns y su solución

Aunque he tenido algunos problemas resueltos en mi día a día laboral, no había vuelto a sacar tiempo para compartirlos; sin embargo, recién pude recuperar mi propio equipo de uno interesante, así que decidí sentarme un rato y escribirlo como en viejos tiempos.

El problema

Recién había actualizado mi Windows 10 a la compilación 17063 y necesitaba reinstalar el VMWare Workstation por un problema que hay con Advanced Installer, herramienta indispensable en mi trabajo, así que procedí a hacerlo, pero cuando reinicié el equipo para terminar la desinstalación, justo después de iniciar sesión, mi equipo empezó a arrojar pantalla verde de la muerte (GSOD):

«Your Windows Insider Build ran into a problem and needs to restart. We’re just collecting some error info, and then we’ll restart for you.»

GSOD

Nota: el color verde es solo para las compilaciones del programa Windows Insider.

A pesar de que el reinicio del equipo era correcto, incluso el inicio de sesión parecía funcionar, siempre terminaba por obtener el GSOD y se reiniciaba otra vez.

La causa

¿Cómo solucionar el problema cuando no puedes ingresar a Windows? Para pensar en eso, tenía que encontrar primero qué controlador me estaba causando la pantalla verde.

Recordemos que cuando ocurren una pantalla azul/verde de la muerte, mientras nos muestra el aterrador mensaje, Windows escribe un archivo que contiene el volcado de memoria de lo que ocurría al momento del fallo; normalmente escribe uno completo, MEMORY.dmp, ubicado en la raíz del directorio de Windows y otro más pequeño, escrito en el directorio Minidumps.
Si logramos obtener alguno de estos archivos desde el equipo con el fallo, es muy probable que podamos identificar la causa raíz.

Windows PE

Como no podía extraer el volcado de memoria desde el equipo en línea, opté por recurrir al buen amigo Windows PE e iniciar desde ahí el equipo, de esta forma me aseguraba no sufrir más reinicios inesperados y poder navegar desde la consola libremente por mis archivos.

Una vez en el Windows PE, busqué en qué unidad se encontraban los archivos del sistema operativo sin conexión, en mi caso la E:\, y copié el archivo MEMORY.dmp para poder analizarlo en otro equipo con xcopy a mi memoria USB, con letra H:\, así:

xcopy E:\Windows\MEMORY.dmp H:\DumpFile

image

El siguiente paso fue ejecutar la última versión del Windbg en otro equipo, conectar la memoria con el volcado de memoria y abrirlo para el análisis:

2017-12-21_16-21-53

El Windbg tarda unos segundos mientras prepara el ambiente y luego deja a disposición la consola de comandos. El paso básico aquí es proceder con el !analyze –v para que nos dé un resultado de cuál puede ser el controlador que falla y bastante información más, pero en este caso decidí utilizar solamente el comando kc para ver los nombres de todos los módulos y funciones que cargaron antes de que se produjera el bugcheck. Afortunádamente me encontré con algo interesante:

2017-12-21_16-29-46

Aquí cabe recordar que debemos buscar de primero siempre lo que no corresponda a Windows, es decir, que no inicie con nt! Para mi caso, como pueden ver, solo había algo diferente a todo lo demás: gdrv.

Luego, desde el mismo Windbg, utilicé lmvm gdrv para ver qué información podía extraer de ese controlador, aunque no tuve demasiada:

2017-12-21_16-32-09

Hasta aquí pude confirmar que efectivamente había un controlador implicado, pero con estos detalles del Windbg no podía saber a qué programa pertenecía (o no sabía cómo). ¿Qué hacer, entonces?

Autoruns y Windows PE

Como lo he mostrado en varias ocasiones durante toda la vida de este blog, Autoruns, de Sysinternals, tiene una fantástica característica que consiste en cargar todo lo que hay en un sistema operativo sin conexión para hacer análisis desde un Windows PE, por ejemplo. De esta forma podemos saber todo lo que carga con Windows y buscar posibles causas de problemas como una pantalla azul/verde que no deja arrancar.

Lo que hice fue copiar el Autoruns64.exe desde la página de Sysinternals al Windows PE, inicié nuevamente mi equipo desde ahí, ejecuté Autoruns y activé la característica desde el menú de File, Analyze Offline System. 

En la ventana de Offline System solo debemos indicar el directorio en donde está Windows, en mi caso la E:\Windows, y el perfil a cargar, en mi caso E:\Users\Checho:

image

Una vez hecho eso, ya estaba viendo todo lo que cargaba en mi sistema operativo. ¡Todo listo para encontrar a quién le pertenecía el controlador!

Desde el cuadro de texto de Filter, ubicado en la parte superior, debajo de la barra de menú, escribí el nombre del controlador, gdrv, y para mi fortuna, encontré lo que buscaba:

image

Según la descripción, el controlador pertenecía a GIGABYTE Tools, es decir, a la aplicación de App Center del fabricante.

La solución

Naturalmente, si Windows no tiene activo en el inicio el controlador que falla, el problema no va a ocurrir. Desde Autoruns, deshabilité la carga de ese controlador quitando la selección, así:

image

Cerré Autoruns, Windows PE y reinicié mi máquina. Como era de esperarse, no tuve más la pantalla verde, aunque sí un mensaje de error del App Center por no poder cargar su controlador:

image

Intenté buscar una versión más actualizada del App Center, pero no la encontré en la página de Gigabyte, así que tuve que quitar la aplicación de mi equipo mientras logro reportar el problema o sale alguna versión nueva.

Saludos,

—Checho
https://twitter.com/secalderonr

Establecer la ubicación predeterminada de la carpeta OneDrive a través de directivas de grupo

Hace unos días, como parte de mi trabajo, estaba apoyando un compañero en un proyecto de ingeniería de imágenes en Windows 10 y nos encontramos con que uno de los requerimientos que tenía el cliente sobre la imagen era cambiar la ubicación predeterminada de la carpeta OneDrive a otra partición de forma predeterminada, así el usuario que iniciara sesión solo tendría que indicar la cuenta y no hacer el cambio manualmente.

Predeterminadamente no se puede hacer el cambio hasta después de configurada la cuenta, además de que aplica por usuario; así que nos dimos en la tarea de buscar y encontramos un artículo técnico de la base de conocimientos de Office donde describía una serie de directivas de grupo asociadas a unos archivos ADMX disponibles para descargar:
https://support.office.com/en-us/article/Use-Group-Policy-to-control-OneDrive-sync-client-settings-0ecb2cf5-8882-42b3-a6e9-be6bda30899c

Lamentablemente me encontré con que para para algunas personalizaciones como la que yo buscaba, establecer la ubicación predeterminada de la carpeta OneDrive, había que hacer personalizaciones manuales sobre los archivos, pero la plantilla que uno descarga no tiene ni siquiera el XML con todos los valores base que requiere para funcionar y la ayuda está pésimamente documentada.

Con el ánimo de dejar algo de documentación para futuras ocasiones en que lo necesite y para el que le pueda servir, escribiré a continuación cómo deben de quedar configurados los archivos para que la directiva se pueda aplicar correctamente.

Requerimientos

1. Debemos saber cuál es el Tenant ID de nuestro Azure AD. Si necesitan saber cómo encontrar el Tenant ID, pueden ver este artículo

2. Aunque podemos hacer las modificaciones con el Bloc de notas, yo les recomiendo utilizar un editor como Notepad++ para los siguientes pasos. Pueden descargarlo desde aquí:
https://notepad-plus-plus.org/

Descarga de archivos

Aunque hay dos partes desde la web oficial que se pueden descargar, la mejor es la que está en la misma KB que compartí arriba: download the OneDrive Deployment Package

Configuración del ADMX y ADML

Una vez descarguemos el paquete de implementación, debemos descomprimir el contenido para poder empezar a modificar los dos archivos importantes, OneDrive.admx y OneDrive.adml:

image

Procedemos a hacer clic derecho sobre el archivo OneDrive.admx y lo editamos con Notepad++

image

Lo primero que debemos hacer es ubicarnos en las directivas DefaultRootDir y DisableCustomRoot para remplazar nuestro tenant ID por la cadena que veremos en el XML, así: {INSERT YOUR TENANT’S GUID HERE}

image

image

Naturalmente todos tendremos un identificador diferente.

Es importante aclarar que debemos tener cuidado de no incluir comillas adicionales ni corchetes, por ejemplo:

image

La directiva que nos va a permitir modificar la ubicación predeterminada de la carpeta de OneDrive es la que está con el nombre de DefaultRootDir, así que debemos hacerle algunas correcciones sobre lo que trae predeterminadamente la plantilla para que funcione.

Después de la etiqueta de supportedOn y antes de elements, vamos a agregar esto:

<enabledValue>
     <string>D:\ODUsers\%UserName%</string>
</enabledValue>
<disabledValue>
     <string></string>
</disabledValue>

Lo anterior es para que la plantilla aplique el cambio en el registro y aparezca como Enabled en la consola de directivas de grupo.

Noten que en la etiqueta de string yo agregué una ruta predeterminada; esto es de vital importancia para que pueda funcionar. La ruta puede ser cualquiera, pero debemos asegurarnos de que sea la misma tanto en este archivo .admx como en el .adml más adelante.

Todo quedaría así:


<policy name=”DefaultRootDir” class=”User” displayName=”$(string.DefaultRootDir)” explainText=”$(string.DefaultRootDir_help)” presentation=”$(presentation.DefaultRootDir_Pres)” key=”SOFTWARE\Microsoft\OneDrive\Tenants\81e570c6-569e-4b33-8ef5-8574e89d545b” valueName=”DefaultRootDir”>
       <parentCategory ref=”OneDriveNGSC” />
       <supportedOn ref=”windows:SUPPORTED_Windows7″ />
     <enabledValue>
        <string>D:\ODUsers\%UserName%</string>
     </enabledValue>
     <disabledValue>
         <string></string>
     </disabledValue>
       <elements>
         <text id=”OneDriveSyncFolder” valueName=”DefaultRootDir” required= “true” expandable=”true” />
       </elements>
     </policy>


image

Guardamos los cambios desde nuestro editor y cerramos el OneDrive.admx.

Hacemos clic derecho sobre el archivo OneDrive.adml y procedemos a editarlo también.

image

Al principio del archivo, debajo de  <stringTable>, vamos a agregar lo siguiente:

<!– OneDrive Sync Folder –>
<string id=”OneDriveSyncFolder”>OneDrive Sync Folder</string>

Nos quedaría así:


<resources>
     <stringTable>
    
       <!– OneDrive Sync Folder –>
       <string id=”OneDriveSyncFolder”>OneDrive Sync Folder</string>


image

Después de esta modificación, bajamos del todo en el archivo hasta la etiqueta llamada <presentationTable>; allí ubicamos la etiqueta de <defaultValue> y cambiamos su contenido por la ruta que deseamos mostrar predeterminadamente al abrir la plantilla en el Administrador de directivas de grupo. En mi caso, pondré la ubicación a:

D:\ODUsers\%UserName%


<presentationTable>
    <presentation id=”AutomaticUploadBandwidthPercentage_Pres”>
    <text>Select the maximum amount of bandwidth to take up when uploading files.</text>
         <text>Valid values are from 10 – 90.</text>
         <decimalTextBox refId=”BandwidthSpinBox” defaultValue=”70″ spinStep=”1″>Bandwidth:</decimalTextBox>
       </presentation>
       <presentation id=”DefaultRootDir_Pres”>
        <textBox refId=”OneDriveSyncFolder”>
         <label>OneDrive Sync Folder</label>
        <defaultValue>D:\ODUsers\%UserName%</defaultValue>
       </textBox>
      </presentation>
   </presentationTable>


image

Guardamos el archivo desde el editor y cerramos.

Importar los archivos al repositorio central del Directorio activo

En este punto voy a asumir que ya tienen creado un repositorio central en el controlador de dominio; si no es así, los invito a seguir este artículo para crearlo:

https://support.microsoft.com/en-us/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra

Para registrar los archivos correctamente, seguimos estos pasos:

1. Cerramos cualquier instancia del Administrador de directivas de grupo que tengamos abierta

2. Copiamos el archivo OneDrive.admx a la carpeta raíz de PolicyDefinitios del repositorio central:

image

3. Copiamos el archivo OneDrive.adml en la subcarpeta en-US de PolicyDefinitios:

image

Crear la directiva de grupo

Por último, procedemos a abrir el Administrador de directivas de grupo, creamos o editamos la plantilla desde donde queremos configurar la carpeta de OneDrive y navegamos hasta:

User Configuration\Policies\Administrative Templates\OneDrive

Doble clic sobre la plantilla Set the default location for the OneDrive folder

image

En la ventana de la plantilla, seleccionamos Enabled y, si es necesario, modificamos la ruta en la que OneDrive hará la sincronización, debajo de OneDrive Sync Folder:

image

Como nosotros modificamos la ruta en el archivo OneDrive.admx y OneDrive.adml, será la que aparezca predeterminadamente. Si necesitamos que sea otra, basta con cambiarla y ya.

Hacemos clic en el botón OK para habilitar la directiva. Debemos asegurarnos de que en la ventana del Administrador de directivas se quede viendo como Enabled:

image

Probar la directiva de grupo

Iniciamos en un equipo que tenga Windows 7 o Windows 10 y el último cliente de OneDrive instalado con un usuario de dominio que le aplique la directiva, ejecutamos OneDrive y procedemos a realizar la configuración:

1. Iniciar sesión con la cuenta:

image

2. Ingreso de contraseña:

image

3. Confirmación de la carpeta predeterminada:

image

Noten que, predeterminadamente, la carpeta de OneDrive está apuntando a la misma ubicación que definimos en la directiva de grupo.

4. Sincronización de archivos:

image

5. Confirmación:

image

6. Por último, confirmamos que la carpeta se haya creado físicamente en la ruta que indicamos en la directiva de grupo:

image

Espero les sea de utilidad.

Saludos,

<

p align=”justify”>Checho

Establecer un fondo personalizado para la Pantalla de bloqueo en Windows 10, versión 1703, con un paquete de aprovisionamiento

Una de las características que introdujo Windows 8 a nivel de interfaz gráfica fue la pantalla de bloqueo, que permitía tener una imagen personalizada mostrándose justo antes del inicio de sesión en Windows. Desde ese entonces y hasta la la compilación 1511 de Windows 10 las organizaciones podían establecer una imagen corporativa en todas las ediciones de Windows a través de directivas de grupo; sin embargo, desde Windows 10, versión 1607, solo es posible en ediciones Education y Enterprise, así que todas las empresas que tenían Windows 10 Pro perdieron esta opción, por lo menos de forma soportada.

Con la reciente liberación de Windows 10 Creators Update (versión 1703), Microsoft habilitó un nuevo CSP, más concretamente Personalization CSP, que permite configurar tanto el fondo de pantalla de escritorio como el de la Pantalla de bloqueo utilizando directivas MDM en las ediciones empresariales de Windows 10. Gracias a que los paquetes de aprovisionamiento se basan principalmente en directivas MDM, las empresas con Windows 10 Pro no necesitan tener Windows Intune para empezar a aprovechar estas nuevas características.

A continuación, mostraré cómo podemos utilizar la última versión del Windows Imaging and Configuration Designer (Windows ICD) para construir un paquete de aprovisionamiento que despliegue un fondo de pantalla de bloqueo personalizado y evite que el usuario lo pueda cambiar.

Requerimientos

1. Instalar todas las herramientas de implementación desde la última versión del ADK, la cual pueden descargar desde el sitio oficial:
https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit

image

2. Un equipo cliente que tenga instalado Windows 10 Pro, versión 1703; es decir, Creators Update

Nota: este proceso funciona perfectamente en las ediciones Enterprise y Education también, pero ahí es más fácil por directivas de grupo.

Creación del paquete de aprovisionamiento

Lo primero que vamos a hacer es crear y configurar el paquete de aprovisionamiento con las directivas MDM que deseamos aplicar.

1. Desde nuestro equipo técnico en donde instalamos el ADK ejecutamos el Windows Imaging and Configuration Designer

2. En la página de inicio, hacemos clic en Advanced provisioning para crear un paquete completamente personalizado

image

3. En la ventana de New project, indicamos un nombre para el paquete debajo de Name y hacemos clic en el botón Next

image

  1. En la página de Choose which settings to view and configure, seleccionamos All Windows desktop editions y clic en Next

image

5. En la página de Import a provisioning package (optional), dejamos en blanco y clic en el botón de Finish

image

Windows Configuration Designer abrirá nuestro paquete de aprovisionamiento con todas las configuraciones disponibles debajo de Runtime settings:

image

Personalización del paquete

Aunque un solo paquete de aprovisionamiento puede contener múltiples configuraciones, nos enfocaremos solo en establecer nuestro fondo para la Pantalla de bloqueo.

1. Expandimos Runtime settings, luego el nodo de Personalization y clic en DeployLockScreenImage

2. En el panel central, hacemos clic en el botón de Browse y buscamos la imagen que deseamos establecer con extensión .jpeg o .jpg (se pueden más formatos, pero no viene al caso)

image

3. Después de escoger la imagen, hacemos clic en LockScreenImageUrl y en el campo de texto del centro escribimos el nombre de la imagen que seleccionamos en el paso 2. Para mi caso, por ejemplo, sería balls.jpg

image

4. Expandimos el nodo de SharedPC, luego PolicyCustomization, clic en SetEduPolicies y cambiamos el valor en el panel central de FALSE a TRUE

image

Nota: el paso 4 solo es necesario si vamos a configurar el fondo para la Pantalla de bloqueo en Windows 10 Pro, versión 1703.

Compilación del paquete

Finalmente, seguimos estos pasos para compilar nuestro paquete de aprovisionamiento:

1. Hacemos clic en el botón de Export, ubicado en la parte superior izquierda, y luego en Provisioning Package

image

2. En la primera ventana de Build, cambiamos el owner de OEM a IT Admin y clic en Next

image

Nota: el owner determina la prioridad en que Windows realizará configuraciones en el equipo, en caso de que hayan dos paquetes tratando de establecer las mismas directivas con distintas configuraciones.

3. En la página de Select security details for the provisioning package, hacemos clic en Next

image

4. En la página de Select where to save the provisioning package, dejamos el directorio predeterminado y hacemos clic en Next

image

5. En la página de Build the provisioning package, hacemos clic en el botón de Build para crear nuestro paquete de aprovisionamiento

image

6. En la página de All done, hacemos clic en el enlace que nos da el Output location para acceder al paquete de aprovisionamiento y clic en el botón de Finish

image

¡Todo listo! Lo único que nos queda es copiar nuestro CusttomLockScreen.ppkg o como lo hayan nombrado al equipo en donde aplicaremos la directiva para probar.

Prueba del paquete en Windows 10 Pro, versión 1703

Así luce la Pantalla de bloqueo en un escenario no administrado:

image

Como ven, la selección predeterminada es la de Windows spotlight, aunque el usuario lo puede cambiar por una imagen fija.

Lo que haremos será copiar el paquete de aprovisionamiento creado anteriormente y hacer doble clic para lanzarlo.

Normalmente el paquete nos da una leve descripción de tareas generales que hará y las opciones de aceptar o cancelar:

image

Lo único que tenemos que hacer es darle a Yes, add it y Windows se encargará de toda la configuración.

Una vez se cierre la ventana del paquete de aprovisionamiento, abrimos nuevamente la aplicación de Configuraciones, Personalización, Pantalla de bloqueo para ver cómo luce ahora:

image

Windows indica que algunas de las opciones están siendo administradas por la organización, por ende deshabilita toda personalización que pueda hacer el usuario.

Para comprobar que todo quedó aplicado, basta con bloquear el equipo y ver que nuestro fondo corporativo fue aplicado en la Pantalla de bloqueo.

image

Espero sea de utilidad.

—Checho

Cambiar el fondo de pantalla establecido por directivas de grupo en Windows 10

En mi empresa, como en todas las organizaciones, hay una directiva de grupo que establece un fondo de pantalla corporativo en todas las estaciones Windows. Si bien es algo normal y los encargados de TI suelen cambiarlo con cierta frecuencia, se vuelve muy aburridor estar viendo el mismo fondo de pantalla todos los días; por este motivo, decidí explorar un poco cómo reconoce Windows la directiva para cambiarlo por uno que sea de mi gusto y compartirlo por aquí.

Nota: es necesario contar con privilegios administrativos para poder realizar los procedimientos que voy a describir aquí.

Explorando la directiva del fondo de pantalla

Para poder seguir lo que pasa al activar una directiva de grupo, es necesario forzar la configuración con la herramienta de gpupdate, con el parámetro de /force, y seguirla con Process Monitor mientras hace el procedimiento.

image

Ya que Process Monitor genera bastante bulla con el log, debemos configurar filtro para que nos muestre lo que esté haciendo el proceso de svchost.exe, encargado de replicar las directivas de grupo, que las operaciones sean de escritura en el registro y que no muestre nada de sistema de archivos, procesos o redes.

image

Después de esto, abrí el cuadro de búsqueda (CTRL + F) y procedí a buscar todas las ocurrencias que tuviese la palabra «Wallpaper».

image

El primer resultado, aunque no es exactamente el que buscaba, encontré algunos detalles interesantes:

image

El Path hacía referencia a la subclave de registro que almacena la información correspondiente a las GPO aplicadas tanto en máquina como en usuario. En este caso, al SID correspondiente a mi usuario, S-1-5-21-3916089143-2390449709-3607105231-11656.

Noten que, según me indicaba Process Monitor, Windows estaba escribiendo un valor (RegSetValue) con el nombre de DisplayName y su contenido era GPO Wallpaper, nombre de la GPO que se encargaba de configurar el fondo de pantalla corporativo en mi equipo.

Haciendo clic derecho desde Process Monitor e indicando Jumpt To…, encontré todos los detalles referentes a la directiva de grupo en el registro: nombre, ubicación física, ruta completa de la OU, identificador único de la GPO, entre otras.

image

Toda esta información estaba alojada en la subclave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\DataStore\SID, mas no era la única GPO, pues en la raíz de DataStore están alojados las GPO tanto para usuario como para máquina. Las que corresponden a la máquina están en la subclave de Machine, y las de usuario, en su respectiva subclave que tiene como nombre el SID.
 

image

Esta información puede llegar a ser muy útil si estamos haciendo diagnóstico de problemas con directivas de grupo que no estén aplicando en los clientes; sin embargo, no me decía desde dónde estaba llamando al fondo de pantalla ni la ubicación de este. Lo que hice fue seguir buscando en Process Monitor con la misma palabra, Wallpaper, y esto fue lo que encontré:

SNAGHTML22c85cd8

Windows creó un valor de registro llamado Wallpaper en la ruta HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\; cabe agregar que normalmente las directivas de grupo, correspondientes a usuario, se agregan en la subclave de Policies.

Abrí el Registro de Windows para explorar de una forma más visual y hallé lo que estaba buscando, la ruta exacta de la directiva de fondo de pantalla.

image

El primer valor, Wallpaper, hace referencia a la ruta física, normalmente de red, en donde está ubicada la imagen a establecer como fondo de pantalla; el segundo valor, WallpaperStyle, le dice a Windows cómo debe posicionar la imagen en el escritorio: centrado, ajustado, etc.

Una vez obtenida la información, el siguiente paso, naturalmente, era proceder a hacer la personalización.

Cambiar el fondo de pantalla por uno personalizado

Para realizar el cambio de fondo corporativo a uno personal, realizamos los siguientes pasos:

1. Asegurarnos de estar en la subclave de registro: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

2. Doble clic sobre el valor Wallpaper para abrir la ventana de edición

3. Le indicamos una ruta completa, local o de red, en donde esté alojado nuestro fondo de pantalla, en el cuadro de texto:

image

4. Clic en el botón de Aceptar (OK)

5. Reiniciamos el sistema o reiniciamos el proceso de Explorer.exe para que el fondo se aplique y lo veamos en nuestra pantalla

¿Se puede impedir el cambio efectuado por la directiva?

En teoría sí, pero después de intentarlo muchas veces, me encontré con la sorpresa que no. Básicamente, para evitar el cambio habría que quitarle todo tipo de privilegios de escritura al usuario SYSTEM sobre la subclave de System o incluso de Policies; sin embargo, todos los administradores, incluyendo SYSTEM, por supuesto, tienen el privilegio de tomar propiedad (SeTakeOwnershipPrivilege), lo que les permite volver a restablecer todos los permisos de las subclaves.

Trataré de adentrarme más en esto cuando aprenda un poco de Internals.

Saludos,

—Checho

Personalizar la barra de tareas de Windows 10 con directivas de grupo

El pasado mes de mayo escribí un artículo sobre una característica bastante llamativa en Windows 10, versión 1511, que, expandiendo lo que ya se podía en Windows 8.1 Update, permitía crear un diseño parcial del menú de inicio para todos los usuarios, utilizando Directivas de grupo.

Windows 10, versión 1607, agregó otra funcionalidad más a estas características para anclar una serie de accesos predeterminados en la barra a través de Directivas de grupo y así ayudar a los administradores de infraestructura a estandarizar fácilmente las personalizaciones de usuario. En este artículo explicaré cómo podemos realizar estas personalizaciones.

Requerimientos

1. Controladores de dominio con los ADMX actualizados a Windows 10, versión 1607

2. Equipo con Windows 10, versión 1607, que sirva de referencia

3. Equipos con Windows 10 Enterprise o Education, versión 1607, en donde se implemente la directiva de grupo

Nota: esta característica no está disponible en ediciones Home y Pro.

Paso 1: configurar la barra de tareas

Estos pasos se deben realizar en el equipo de referencia, que puede estar o no unido al dominio de la empresa. Lo más importante es que si vamos a referenciar aplicaciones no integradas en Windows, estas deben instalarse también en los equipos en donde se va a desplegar la directiva.

Lo primero que hay que hacer, después de instalar las aplicaciones, si es que se requiere agregar un acceso directo, es anclar todos los accesos directos que vamos a predeterminar en los demás equipos. Basta con buscar la aplicación en el menú de inicio, hacer clic derecho y luego clic izquierdo en Anclar a la barra de tareas.

image

Para este artículo, yo anclé el Internet Explorer, Notepad++, Conexión a acceso remoto y el Símbolo del sistema.

image

Paso 2: crear y guardar el XML

El siguiente paso es crear o personalizar el XML. Microsoft provee una muestra en su documentación, así solo debemos dedicarnos a encontrar el Desktop Application Link Path adecuado para cada aplicación anclada; se utilizan dos rutas:

  • %APPDATA%\Microsoft\Windows\Start Menu\Programs
  • %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs

Nota: las aplicaciones de interfaz moderna también se pueden anclar y relacionar en el XML que se crea, pero no las mostraré en el ejemplo, puesto que casi no se ve en la vida real; de hecho, las empresas tienden a bloquear estas aplicaciones.

Los accesos directos pueden estar en una u otra, por lo que toca buscarlo manualmente carpeta por carpeta. Por ejemplo, el acceso al Notepad++ está en:

%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Notepad++\Notepad++.lnk

image

El Internet Explorer, por poner otro ejemplo, está en la ruta:

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk

image

Ambas rutan deben estar dentro de la etiqueta <taskbar:DesktopApp DesktopApplicationLinkPath=/> del XML, así:


<?xml version=”1.0″ encoding=”utf-8″?>
<LayoutModificationTemplate
    xmlns=”
http://schemas.microsoft.com/Start/2014/LayoutModification”
    xmlns:defaultlayout=”http://schemas.microsoft.com/Start/2014/FullDefaultLayout”
    xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”
    xmlns:taskbar=”http://schemas.microsoft.com/Start/2014/TaskbarLayout”
    Version=”1″>
  <CustomTaskbarLayoutCollection>
    <defaultlayout:TaskbarLayout>
      <taskbar:TaskbarPinList>
        <taskbar:DesktopApp DesktopApplicationLinkPath=”%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk”/>
        <taskbar:DesktopApp DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Notepad++\Notepad++.lnk”/>
        <taskbar:DesktopApp DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Remote Desktop Connection.lnk”/>
        <taskbar:DesktopApp DesktopApplicationLinkPath=”%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk”/>
       
      </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>


image

Nota: la base de este XML está tomada de la documentación de Microsoft.

Después de agregar las entradas correspondientes a cada acceso directo anclado, debemos guardar el XML con cualquier nombre descriptivo y ubicaro en una ruta de red, en la que pueda acceder el controlador de dominio que creará la directiva. Para este caso, yo la ubiqué en \\DC\Resources y lo llamé TaskBarLayout1.xml.

image

Paso 3: crear y desplegar la directiva

En el controlador de dominio, después de actualizar los ADMX, creamos o editamos la GPO destinada para personalizar la barra de tareas en los equipos con Windows 10, versión 1607, y realizamos lo siguiente:

1. User Configuration > Policies > Administrative Templates > Start Menu and Taskbar

2. Doble clic en la plantilla de Start Layout

image

3. Habilitamos la directiva y escribimos debajo de Start Layout File la ruta del XML

image

4. Clic en Apply y OK para terminar

Paso 4: probar la directiva de grupo

Si todo sale bien, cuando unamos un nuevo equipo al dominio o simplemente  reiniciemos para forzar directivas de grupo, la barra de tareas debe aparecer con todos los nuevos accesos a la derecha.

Así está la barra de tareas sin aplicar la directiva:

image

Así se ve después de aplicada:

image

Parece increíble que una característica así se haya tardado tanto en llegar, ¿no creen?

Espero sea de utilidad.

Saludos,

—Checho

Establecer un diseño parcial del menú de inicio en Windows 10 a través de Directivas de grupo

Hace ya algunos años, en los tiempos de Windows 8.1, escribí una entrada en donde mostré una de las nuevas características que tenía el sistema operativo: diseño del menú de inicio, que se utilizaba para establecer una pantalla de inicio corporativa, con grupos e iconos obligatorios y que no se podían modificar por parte del usuario.  Windows 10, a partir de la versión 1511, continuó con esta funcionalidad, pero ahora es posible configurar dos tipos de diseño: completo y parcial.

A continuación pasaré a describir un poco la diferencia y explicar, paso a paso, cómo se puede implementar en una organización.

Diseño completo y parcial en Windows 10

El diseño completo del Menú de inicio es exactamente igual al que tenía Windows 10; es decir, desde otro equipo con la misma arquitectura (32 o 64 bits) se exporta el XML utilizando PowerShell y se aplica a través de una GPO, impidiendo que los usuarios, una vez se les aplique la directiva, puedan realizar modificaciones sobre los grupos o iconos anclados. El diseño parcial del Menú de inicio, nuevo en Windows 10 1511, permite crear grupos obligatorios, mas deja que el usuario modifique como quiera el resto del menú de inicio agregando nuevos grupos, por ejemplo.

Requerimientos

1. Entorno de dominio con los ADMX actualizados para Windows  10.

2. Dos equipos con Windows 10, versión 1511, y que al menos uno esté unido al dominio.

3. Ruta compartida disponible para trabajar con el XML.

Generar el archivo XML con el diseño del Menú de inicio

En el primer equipo, debemos personalizar manualmente los grupos que deseemos establecer como obligatorios para los usuarios; por ejemplo, yo creé un grupo de «Trabajo» y otro de «Soporte» en donde anclé todas las aplicaciones necesarias, además cambié los tamaños acorde a como quería.

image

Una vez personalizado el Menú de inicio, ejecutamos PowerShell con privilegios elevados.

image

El cmdlet que se debe utilizar es Export-StartLayout, que se encarga de exportar la descripción del menú de inicio actual en formato .xml. La sintaxis es muy fácil:

Export-StartLayout –Path <ruta><nombre.>.xml

Por ejemplo, para guardar el XML en el disco local y llamar al archivo «Inicio.xml», se ejecutaría:

Export-StartLayout –Path C:\Inicio.xml

image

Copiamos el archivo .xml al servidor en donde vamos a aplicar la directiva de grupo. Una vez copiado, editamos el archivo y agregamos la siguiente línea en el elemento <DefaultLayoutOverride>:

LayoutCustomizationRestrictionType=”OnlySpecifiedGroups”

Debería verse así:

image

 <DefaultLayoutOverride LayoutCustomizationRestrictionType=”OnlySpecifiedGroups”>

Guardamos el archivo en el directorio compartido creado en los requerimientos.

image

Implementar directiva de grupo

En el controlador de dominio, abrimos la GPO destinada para esta directiva y navegamos hasta:

User Configuration\Policies\Administrative Templates\Start Menu and Taskbar

Doble clic sobre la plantilla «Start Layout».

image

En la plantilla de «Start Layout», seleccionamos Enabled  y luego, debajo de Start Layout File, digitamos la ruta completa de red al archivo .xml:

image

Clic en OK al terminar para aplicar la directiva.

Probar la configuración del Menú de inicio

Para que el diseño parcial del Menú de inicio surta efecto es necesario reiniciar la máquina. Una vez hecho esto, debemos ver el Menú tal cual como se configuró en la primera máquina:

image

Noten los iconos que tienen los dos grupos obligatorios que establecí, creados para indicarle al usuario que no se pueden modificar de ninguna manera.

El otro aspecto importante es que, al ser un diseño parcial, se pueden crear otros grupos a gusto del usuario y que no interfieren para nada con los obligatorios:

image

Estos grupos personalizables no tienen el icono del candado para indicarle al usuario que tiene completa libertad.

Espero sea de utilidad.

Saludos,

—Checho

Implementación básica de Work Folders para Windows 8.1 y Windows 10

Normalmente no acostumbro a publicar entradas referentes a Windows que se concentren más en el lado del servidor que del cliente; sin embargo, hay varias tecnologías, viejas y nuevas, que requieren bastante trabajo de cara al servidor para que el cliente pueda disfrutar de ellas.

Debido a que Windows 10 está trayendo tantas características interesantes, trataré de ir mostrando, conforme vaya aprendiendo, la implementación. Hoy, no obstante, quiero mostrar una característica que viene desde Server 2012 R2, relativamente simple de implementar y que puede llegar a ser muy útil: Work Folders.

Introducción a Work Folders

Work Folders es un rol que está disponible desde Windows Server 2012 R2, y que provee una forma consistente para que los usuarios puedan acceder a sus datos corporativos, independiente si es desde un computador personal o de trabajo, incluso a través de internet y desde dispositivo móvil.

Básicamente, con Work Folders podemos crear un repositorio central en el que los usuarios almacenen archivos corporativos y puedan acceder a ellos desde su equipo empresarial o, siguiendo el modelo de BYOD, desde su computador personal. Estos archivos pueden ser completamente controlados desde la organización utilizando directivas de seguridad; además, con Windows 10, se podrá activar Enterprise Data Protection (EDP) para cifrar el contenido y aprovechar todas las ventajas de esta otra característica.

La implementación de este rol, aunque puede llegar a ser compleja, se puede hacer de una forma básica para que los dispositivos puedan acceder a los datos desde que estén conectados la red empresarial. A continuación mostraré cómo podemos realizar un despliegue básico, para luego probar el acceso a los archivos desde un equipo con Windows 8.1 y otro con Windows 10.

Nota: Pueden obtener más información sobre Work Folders aquí: https://technet.microsoft.com/en-us/library/dn265974.aspx.

Requerimientos

Para implementar Work Folders necesitaremos:

  1. Ambiente de dominio
  2. Servidor con Windows Server 2012 R2 adicional y que esté unido al dominio
  3. Repositorio central en donde se vayan a almacenar los archivos
  4. 2 o más equipos con sistema operativo cliente. En este ambiente utilizaré uno con Windows 8.1 y otro con Windows 10, versión 1511

Implementando Work Folders

Las siguientes operaciones las haremos en el servidor adicional que tiene instalado Windows Server 2012 R2 (segundo requerimiento):

  1. En el Server Manager, clic en Add roles and features

    image

  2. En la página de Before you begin, si está habilitada, clic en Next
  3. En Installation type, dejamos la opción predeterminada y clic en Next

    image

  4. En la página de Server Selection, nos aseguramos de tener seleccionado el servidor destinado para Work Folders y clic en Next

    image

  5. En la página de Server Roles, expandimos el nodo de File and Storage Services, luego File and iSCSI Services y seleccionamos Work Folders

    image

    Cuando seleccionamos Work Folders, nos aparecerá una ventana adicional de Add features that are required for Work Folders?, allí simplemente hacemos clic en Add features

    image

  6. En la página de Features, clic en Next

    image
  7. En la página de Confirmation, clic en el botón Install para iniciar la instalación

    image

  8. Una vez terminado el proceso de instalación hacemos clic en Close

    image

Creando y configurando el Sync Share

Para que Work Folders pueda funcionar necesitamos un Sync Share, que puede verse básicamente como un repositorio central en donde estarán todas las carpetas, y en donde se administrará el acceso a diferentes grupos de Directorio Activo. Para configurar nuestro Sync Share, debemos seguir estos pasos:

  1. En el Server Manager, hacemos clic en el nuevo nodo de File and Storage Service

    image

  2. A continuación hacemos clic en Work Folders, y luego en el enlace de To create a Sync Share for Work Folders, start the new Sync Share Wizard

    image

  3. En la página de Before you begin, clic en el botón Next

    image
  4. En la página de Server and Path, seleccionamos Enter a local path y le indicamos el directorio en donde deseamos habilitar Work Folders

    image

  5. En la página de User Folder Structure, dejamos la selección de User alias y clic en Next

    image

    Nota: En el caso de que esta carpeta contenga otras subcarpetas, podemos seleccionar Sync only the following subfolder, aunque esto cobraría valor si Work Folders se estuviese implementando en la misma carpeta de Folder Redirection por ejemplo.

  6. En la página de Sync Share Name, escogemos un nombre, descripción (opcional) y clic en Next

    image

  7. En la página de Sync Access, clic en el botón Add…, buscamos el grupo de Directorio Activo al que deseamos otorgarle permisos para trabajar sobre Work Folders, clic en OK y luego en Next

    image

    Nota: Si deseamos, como administradores, tener acceso a las carpetas, debemos deshabilitar la opción de Disable inherited permissions and grant users exclusive access to their files.

  8. En la página de Device Policies, decidimos si queremos cifrar o no, además de aplicar las directivas de seguridad y clic en Next

    image

  9. En la página de Confirmation, hacemos clic en el botón Create para terminar

    image

  10. Si todo sale bien, nos debe mostrar la página de Results con las operaciones completadas. Clic en Close.

    image

 

Creando directivas de grupo

Aunque cada usuario puede configurar el acceso a Work Folders sin mayor problema, es preferible, al menos para los usuarios de dominio, hacerlo de forma controlada con las directivas de grupo y evitar problemas.

Las siguientes tareas deben hacerse en el Controlador de dominio (primer requerimiento):

  1. Abrir el Group Policy Management, navegar hasta la OU (Unidad organizacional) que se aplicará la directiva (o en la raíz para todo el dominio), clic derecho y luego Create a GPO in this domain, and Link it here…

    image
  2. Le indicamos un nombre de preferencia (en mi caso: Work Folders policies), y clic en OK

    image

  3. Clic derecho en la nueva GPO y luego Edit…

    image

  4. En el Editor de directivas de grupo, navegamos hasta: User Configuration\Policies\Administrative Templates\Windows Components\Work Folders

    image

  5. Hacemos doble clic sobre la carpeta Work Folders, y luego, Specify Work Folders settings

    image

  6. En la ventana de la plantilla Specify Work Folders settings, marcamos Enabled, escribimos como URL la ruta completa a nuestro servidor con el rol de Work Folders, marcamos Force automatic setup y clic en OK

    image

    Nota: Hay que tener en cuenta que la URL será diferente en cada escenario.

  7. Cerramos la plantilla de Specify Work Folders settings
  8. Navegamos ahora hasta Computer Configuration\Preferences\Windows Settings\Registry, y hacemos clic derecho en Registry y luego New Registry item

    SNAGHTML14d962d9

  9. Aquí lo que haremos será básicamente configurar un valor de registro para que Work Folders no nos solicite una URL segura (https) al momento de conectarnos, puesto que para eso necesitaríamos un certificado público. Los valores deben quedar así:
    1. Hive: HKEY_LOCAL_MACHINE
    2. Key Path: SOFTWARE\Microsoft\Windows\CurrentVersion\WorkFolders
    3. Value name: AllowUnsecureConnection
    4. Value type: REG_DWORD
    5. Value data: 1

    image

  10. Clic en OK y cerramos todo

Probando Work Folders

Windows 8.1

En este escenario utilizaré un equipo que no está unido al dominio (Traiga su propio dispositivo); debido a que no recibe directivas, no hay manera de que Work Folders se configure automáticamente, así que es necesario hacer algunos pasos para podernos conectar:

  1. Ejecutamos el CMD con privilegios elevados y ejecutamos:
    Reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WorkFolders /v AllowUnsecureConnection /t REG_DWORD /d 1

    image

  2. Desde la Pantalla de inicio, buscamos Work Folders y luego clic en Manage Work Folders

    image

  3. En la ventana de Work Folders, clic en el enlace de Set up Work Folders

    image

  4. En la página de Enter your work email address, clic en Enter a Work Folders URL instead

    image

  5. En la página de Enter a Work Folders URL, digitamos toda la dirección del servidor que configuramos previamente, y que es diferente en cada caso. Hacemos clic en Next después

    image

  6. Debido a que no estamos en el dominio, es necesario autenticarnos antes de continuar

    image

  7. En la página de Introducing Work Folders, podemos hacer clic en el botón Change para indicarle una ruta diferente a nuestros archivos sincronizados con Work Folders o bien clic en Next para terminar

    image

  8. En la página de Security policies, señalamos el cuadro de I accept these policies on my PC y clic en Setup Work Folders

    image

  9. Después de unos segundos, nuestro PC debe quedar listo para utilizar Work Folders. Clic en Close para terminar

    image

  10. Nuestro último paso es, por supuesto, pasar a crear o copiar nuestros archivos en la carpeta de Work Folders y comprobar la sincronización

    image
    Figura 1: Archivo guardado en Windows 8.1.

    image
    Figura 2: Archivo en el servidor de Work Folders.

 

Windows 10

Debido a que Windows 10 está en el dominio, la tarea se simplifica completamente. Lo único que debemos hacer es reiniciar, iniciar sesión con uno de los usuarios pertenecientes al grupo de Work Folders (Andy Clayton en mi caso) e inmediatamente tendremos la característica funcional desde nuestro Explorador de archivos, carpeta de Work Folders:

image

Nota: Si el equipo de Windows 8.1 está unido al dominio tampoco habrá que configurarlo.

Cambios de Work Folders en Windows 10

Si bien la característica es muy similar con Windows 8/8.1, hay algunas novedades con respecto a Windows 10 documentadas en TechNet, y que se resumen en:

  1. La sincronización es casi inmediata: En Windows 8.1 las actualizaciones de los archivos se hacían sin tardar mucho en el servidor, pero podría tardarse hasta 10 minutos en el cliente; Windows 10, si hay buena conexión, no esperará tanto para efectuar los cambios localmente.
  2. Integración con Enterprise Data Protection (EDP): EDP es una característica que, hasta la fecha, aún se encuentra en desarrollo, aunque ya se puede ir probando. Básicamente, EDP se encarga de cifrar archivos y permitir utilizar solo aplicaciones de confianza para tratar estos archivos, además de brindar borrado remoto desde System Center Configuration Manager o una plataforma MDM. Work Folders podrá cifrar los archivos utilizando EDP.
  3. Integración con Office 2013 y 2016: Si tenemos la suite instalada en nuestro equipo con Windows 10, podemos agregar fácilmente la carpeta de Work Folders como ubicación para Abrir y Guardar como:

    image

    Nota: Esta opción solo nos aparecerá si estamos en Windows 10.

Espero que esto sea de utilidad.

—Checho

Windows 10, versión 1511: Mensaje personalizado en la pantalla de recuperación de BitLocker

Requerimientos

  1. Entorno de dominio con ADMX actualizadas a Windows 10, versión 1511.
  2. Equipos cliente con Windows 10 PRO / Enterprise / Education, versión 1511.

Descripción

Una de las nuevas características incluidas en Windows 10, versión 1511, es la posibilidad de crear un mensaje y URL personalizado al momento de entrar en el ambiente de recuperación de BitLocker. En esta entrada explicaré cómo habilitarlo.

Creación e implementación de la directiva

En la GPO destinada para las directivas de BitLocker, hacemos clic derecho y seleccionamos Edit.

image

En la ventana de Group Policy Management Editor, navegamos hasta Computer Configuration > Policies > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives y hacemos doble clic en la plantilla de Configure pre-boot recovery message and URL.

image

En la ventana de Configure pre-boot recovery message and URL, seleccionamos Enabled para que la directiva se habilite y se pueda modificar, expandimos Select an option for the pre-boot recovery message y escogemos Use custom recovery message.

image

Lo que sigue es simplemente personalizar el mensaje que deseamos mostrarle a nuestros usuarios y hacemos clic en Apply y Ok.

image

Por último, procedemos a forzar la actualización de las directivas de grupo con gpupdate /force.

Comprobación de la directiva

Basta con reiniciar el equipo y entrar a la página de recuperación de BitLocker con la tecla ESC y veremos el mensaje personalizado:

image

Espero sea de utilidad para los que tienen implementado BitLocker sin MBAM.

Instalar aplicaciones MSI en Windows 10 versión 1511 utilizando un paquete de aprovisionamiento

En el primer post que escribí sobre Windows 10 hice referencia a la nueva herramienta de implementación llamada Imaging and Configuration Designer (ICD), que sirve para crear y compilar Paquetes de aprovisionamiento, para después desplegarlos en Windows 10.

Hoy voy a escribir sobre una nueva característica integrada en la versión 1086 del ADK para Windows 10, que consiste en crear un paquete de aprovisionamiento con uno o varios paquetes MSI, desplegarlo en un equipo con Windows 7 y quedar con todas las aplicaciones instaladas de forma automatizada.

Requerimientos

1. Descargar el último ADK para Windows 10 desde aquí:
http://go.microsoft.com/fwlink/p/?LinkId=526740 

2. Instalar la herramienta de Imaging And Configuration Designer (ICD)

image

Nota: Como recomendación, hacer la instalación en otro Windows 10.

3. Descargar los paquetes MSI de las aplicaciones a instalar.

Creando paquete de aprovisionamiento

En el equipo donde se instaló ADK, buscar desde el menú el Imaging and Configuration Desigener (ICD), clic derecho y Ejecutar como administrador.

image

En la ventana principal de ICD, hacemos clic en el botón de New provisioning package.

image

En la ventana de New project, asignamos un nombre cualquiera y clic en Next.

image

En la página de Choose which settings to view and configure, seleccionamos Common to all Windows desktop editions y clic en Next.

image

En la página de Import a provisioning package (optional), clic en Finish para terminar.

image

Una vez estemos en la ventana principal de nuestro paquete de aprovisionamiento, expandimos en la columna de la izquiera Runtime settings y seleccionamos ProvisioningCommands; expandimos DeviceContents y clic en CommandFiles.

image

En el panel central, hacemos clic en el botón Browse, cargamos el paquete MSI a instalar y hacemos clic en el botón de Add.

image

Debajo de CommandFiles nos debe aparecer el nombre del paquete agregado. Después seleccionamos CommandLine y le indicamos los parámetros de instalación; por ejemplo, para el 7Zip, que estoy agregando en la captura, el parámetro sería:

msiexec.exe /i 7z1514.msi /quiet

image

Nota: En teoría, uno debería poder instalar más de un paquete, pero el ICD solo permite especificar una sola línea de comandos hasta ahora. ¿Será bug? Trataré de averiguarlo…

Cuando terminemos, hacemos clic en el botón superior de Export y luego en Provisioning package.

image

En la página de Describe the provisioning package, cambiamos el Owner a IT Admin para priorizar, y luego clic en Next.

image

En la página de Select security settings for the provisioning package, dejamos todo como está y luego clic en Next.

image

En la página de Select where to save the provisioning package, dejamos la ubicación predeterminada y clic en Next.

image

En la página de Build the provisioning package, clic en el botón de Build para terminar.

image

Después de compilado, el asistente nos dará la ruta completa del Paquete de aprovisionamiento.

image

Recordemos que, aunque hay varios archivos en el directorio compilado, estamos interesados por el paquete con extensión .ppkg.

Instalando el Paquete de aprovisionamiento

Copiamos el paquete .PPKG creado a la máquina con Windows 10 y procedemos a ejecutarlo.

Después de aceptar el Control de cuentas de usuario (UAC), nos debe salir un mensaje similar al siguiente:

image

Hacemos clic en el botón «Sí, agregarlo» y, después de un momento, la aplicación quedará instalada y lista para usarse:

image

Nota: El tiempo de instalación dependerá mucho de la aplicación.

Espero sea de utilidad.

Atte.

Checho

[Tip]: Ejecutar el Liberador de espacio en disco de forma automatizada en Windows 10

Comentario personal

Lo sé, lo sé, he estado alejado del blog más tiempo de lo normal, pero estoy tratando de volver a retomar la actividad, pues me hace falta el aprendizaje que adquiero por aquí.

La entrada de blog

Hace algunos años, por los tiempos de Windows 8, escribí un artículo en el que enseñaba a eliminar la carpeta Windows.old, que se creaba tras realizar una actualización a Windows 8. Se habrán dado cuenta que el Liberador de espacio en disco es bastante fácil de utilizar, pero, después de todo, debe hacerse el proceso manual de seleccionar todo lo que se quiere eliminar. Así se ve la herramienta en Windows 10:

image

En Windows 10, además de eliminar archivos temporales, papelera de reciclaje, espacio usado en caché, etc., el Liberador de espacio en disco quita correctamente la compilación anterior, proceso que nos devuelve bastante almacenamiento de nuestro disco duro. Ahora, como es una tarea que debe hacerse con cierta frecuencia, he decidio buscar y compartir aquí la forma de automatizarla.

Parámetros soportados por Cleanmgr.exe

Aunque están excasamente documentados, el Liberador de espacio en disco, Cleanmgr.exe, tiene unos parámetros para guardar y cargar preferencias; basta con ejecutar:

Cleanmgr.exe /?

image

Los dos parámetros importantes para nosotros son: /SAGESET y /SAGERUN, que guardan y cargan una configuración, respectivamente. A continuación mostraré cómo debemos utilizarlos correctamente.

Guardando configuración de Cleanmgr.exe

En Windows 10 hacemos clic derecho sobre el menú de inicio y seleccionamos Símbolo del sistema (administrador).

image

En el Símbolo del sistema ejecutamos:

Cleanmgr.exe /SAGESET:5

Nota: El número «5» puede variar entre 0 y 65535, lo importante es utilizar el mismo después.

Se abrirá la ventana de Configuración de Liberador de espacio en disco. Aquí es donde debemos seleccionar todo lo que deseamos que se borre en cada ejecución de la herramienta:

image

Una vez terminemos de seleccionar nuestras configuraciones, hacemos clic en el botón Aceptar para que Windows almacene todo en el Registro.

Automatizando ejecución desde el Programador de tareas

Como la idea es que no tengamos que hacer nada manual, la mejor forma de ejecutar el Liberador de espacio en disco es a través del Programador de tareas.

Hacemos clic en el botón de Inicio, digitamos Programador de tareas y lo ejecutamos con privilegios administrativos.

image

En el Programador de tareas hacemos clic en Crear tarea básica, debajo de Acciones en el panel derecho y procedemos a nombrarla como queramos.

image

En la página de Desencadenador de tarea indicamos qué tan seguido debe ejecutarse la tarea y clic en Siguiente.

image

De acuerdo al período que hayan elegido en el desencadenador se les mostrará una ventana diferente al darle siguiente, por ejemplo, para Semanalmente se ve así:

image

Configuramos según nuestra necesidad y hacemos clic en Siguiente.

En la ventana de Acción seleccionamos Iniciar un programa y clic en Siguiente.

image

Finalmente, en la ventana de Iniciar un programa digitamos cleanmgr.exe en el cuadro de Programa o script, y /SAGERUN:5 en el cuadro de Agregar argumentos (opcional), para luego hacer clic en Siguiente.

image

Nota: Recordemos que el número en /SAGERUN debe ser el mismo puesto en /SAGESET, de lo contrario el Liberador de espacio en disco cargará diferentes configuraciones.

En la ventana de Resumen confirmamos que todo esté bien y hacemos clic en Finalizar.

image

¡Todo listo! El Liberador de espacio en disco se ejecutará de acuerdo al período que hayamos establecido, y no tendremos que preocuparnos por seleccionar qué deseamos limpiar.

Nota final: Para los que estén interesados, el Liberador de espacio en disco guarda las configuraciones en diferentes subclaves de registro, que están en:

HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCaches

En cada una de las opciones que se escogieron, guarda un valor llamado StageFlags# con el valor de 2, donde # equivale al número escogido en /SAGESET.

Espero sea de utilidad y vuelva pronto con más aportes.

Atte.

Checho