Configurando Acceso Asignado en Windows 8.1 a través de PowerShell

Hace unos días pude exponer aquí una de las características más interesantes con respecto a la actualización de Windows 8.1, conocida como Assigned Access o Acceso Asignado en español. Lo que hicimos fue crear una cuenta y establecerle el Acceso Asignado desde el asistente de Windows 8.1, pero como sé que cada vez hay más amantes de PowerShell, les gustará saber que utilizando unos nuevos cmdlets podrán configurar y personalizar también Acceso Asignado. En este artículo describiré el paso a paso.

Requerimientos

1. Windows 8.1 RT, Windows 8.1 PRO o Windows 8.1 Enterprise; todos en su actual estado de RTM ya que el Preview no tiene habilitado esta característica.

2. Una cuenta local y estándar. Acceso Asignado no se puede establecer sobre una cuenta administrativa o de dominio.

3. Windows PowerShell

*Importante: Como lo expliqué en “Creando usuario estándar” desde el anterior artículo, es primordial iniciar por primera vez con la cuenta estándar para que Windows pueda aprovisionar e instalar las aplicaciones de interfaz moderna.

*Nota: Toda la configuración debe hacerse desde una cuenta que pertenezca al grupo de administradores.

Acceso Asignado con PowerShell

Indentificando el nombre de la aplicación a establecer

Antes de proceder a configurar Acceso Asignado, es necesario saber qué aplicación de interfaz moderna vamos a establecer como predeterminada, pues Windows tienen una gran cantida preinstaladas, pero bien podría ser una aplicación desarrollada internamente, o descargada de la Tienda de Windows.

Una aplicación de Interfaz Moderna se puede identificar de dos formas: el nombre de la aplicación (AppName), o el Application User Model ID, que es básicamente el identificador único que tiene cada una. Lo ideal es utilizar el nombre, pero los navegadores por ejemplo, solo se les puede identificar por el AppUserModelID.

Suponiendo primero que vamos a indicarle una aplicación diferente a navegadores, la forma más fácil de encontrar todos los nombres disponibles, es haciendo una consulta con el cmdlet Get-AppxPackage y el nombre de usuario, por ejemplo, para mi usuario Kiosk el comando sería:

Get-AppxPackage –User Kiosk

AA1

*Nota: Vale aclarar que en la captura solo se muestran dos aplicaciones, pero la lista es bastante más larga.

Lo que tenemos que hacer es identificar el apartado de “Name” correspondiente a la aplicación que deseamos y posteriormente asociarla al usuario para el Acceso Asignado.

Si lo que deseamos es identificar la aplicación por el ID, podríamos hacer la consulta desde un Símbolo del Sistema con privilegios elevados ejecutando:

reg query HKEY_CURRENT_USERSoftwareClassesActivatableClasses
Package /s /f AppUserModelID | find "REG_SZ"

image

*Nota: Sin importar cuántos navegadores tenemos instalados, solo podremos ver el que esté predeterminado y tenga su versión de interfaz moderna. Pueden encontrar más información acerca de las consultas sobre el AppUserModelID aquí:

http://technet.microsoft.com/en-us/library/dn465331.aspx#BKMK_FindAUMID

Nosotros podemos ir manualmente hasta la clave:

HKEY_CURRENT_USERSoftwareClassesActivatableClassesPackage

Allí podemos expandir cada paquete y dentro de la sub-clave Server encontraremos todos los detalles de la aplicación en su primera sub-clave. Por ejemplo, para el navegador predeterminado:

image

Configurando desde PowerShell

En la cuenta administrativa, buscamos PowerShell desde la Pantalla de Inicio, clic derecho y Ejecutar como Administrador (Run as administrator):

image

Siguiendo con el ejemplo de las capturas, para establecer la primera aplicación con el atributo de –AppName, debemos utilizar el cmdlet Set-AssignedAccess (Nuevo en PowerShell para 8.1) de la siguiente forma:

Set-AssignedAccess -AppName Microsoft.BingFinance -UserName Kiosk

*Nota: Kiosk, como en el anterior comando, corresponde al usuario local estándar y Microsoft.BingFinance es el nombre de la aplicación.

image

Si es necesario el ID, con el AppUserModelId como cuando vamos a establecer un navegador para el Acceso Asignado, haríamos uso del mismo cmdlet Set-AssignedAccess pero con una pequeña variación que implica el AppUserModelId y usuario. Por ejemplo, si tenemos instalado Google Chrome y deseamos que esa sea la aplicación de Interfaz Moderna que se lance con Acceso Asignado, el comando sería:

Set-AssignedAccess -UserName Kiosk -AppUserModelId
'DefaultBrowser_NOPUBLISHERID!Chrome'

image

*Nota 1: Nuevamente, Kiosk corresponde a la cuenta estándar, así que varía.

*Nota 2: Pueden hacer clic en la imagen si desean verla de tamaño completo.

Para Internet Explorer, solo se debe cambiar el último nombre del ID por:

‘DefaultBrowser_NOPUBLISHERID!Microsoft.InternetExplorer.Default’

Si es el caso que no les gusta Internet Explorer o Google Chrome y son amantes de Firefox, pueden bajar la última liberación Beta llamada Firefox Aurora y como ya tiene su versión de Interfaz Moderna, el AppUserModelId sería:

‘DefaultBrowser_NOPUBLISHERID!1E05176855CC7D2F’

¡Todo listo! Para comprobar que Acceso Asignado haya quedado configurado correctamente, podemos seguir los pasos del artículo anterior para llegar hasta “Configurar una cuenta para Acceso Asignado” y ver que en efecto esté la aplicación indicada a través de PowerShell:

image

Así luciría la aplicación de Chrome en Interfaz Moderna con Acceso Asignado:

image

*Nota: ¿Bastante fea, no les parece?

Notas finales e importantes

1. Si se preguntan cómo salirse de un usuario que tiene Acceso Asignado, la forma soportada es presionando cinco (5) veces seguidas la tecla de Windows, así volverá a la pantalla de inicio de sesión y podrán reiniciar o cambiar al usuario administrador.

2. Si el navegador predeterminado para Acceso Asignado (como lo mostré en este artículo) es diferente a Internet Explorer, es necesario que previamente desde el usuario estándar se haya configurado para ser el predeterminado, pues de lo contrario la aplicación no iniciará y siempre habrá un cierre de sesión.

*Nota: Este segundo punto puede variar de aquí a la liberación general de Windows 8.1, y para no extender más este artículo, decidí no abordar el tema, pero lo estaré investigando un poco más a fondo para ver si se trata de un fallo o comportamiento natural.

3. Siempre que se quiera cambiar la aplicación para Acceso Asignado hay que cambiar al Administrador, realizar el procedimiento y reiniciar el equipo antes de iniciar con el usuario estándar.

Espero sea de utilidad.

PD. No olviden seguirme en Twitter: 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 *