Criar um ficheiro de configuração do Shell Launcher

Para configurar o Shell Launcher, tem de criar e aplicar um ficheiro XML de configuração aos seus dispositivos. O ficheiro de configuração tem de estar em conformidade com um esquema, conforme definido em Definição de Esquema XML (XSD) do Iniciador de Shell.

Este artigo descreve como configurar um ficheiro de configuração do Shell Launcher, incluindo exemplos práticos.

Vamos começar examinando a estrutura básica do arquivo XML. Um ficheiro de configuração do Shell Launcher contém:

  • Um ou vários profiles. Cada profile um define:
    • a aplicação que substitui a shell padrão do Windows (Explorer.exe), que é executada quando um utilizador inicia sessão
    • a ação predefinida a tomar quando a aplicação sai e ações quando a aplicação sai com um código de retorno específico
  • Um ou vários configs. Cada config um associa uma conta de utilizador a um profile

Observação

Um perfil não tem efeito se não estiver associado a uma conta de utilizador.

Eis um exemplo básico de um ficheiro de configuração do Shell Launcher, com um perfil e uma configuração:

<?xml version="1.0" encoding="utf-8" ?>
<ShellLauncherConfiguration
  xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
  xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <Profile Id="{GUID}">
      <!-- Add configuration here as needed -->
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <!-- Add configuration here as needed -->
    </Config>
  </Configs>
</ShellLauncherConfiguration>

Controle de versão

O XML de configuração do Shell Launcher tem o controlo de versões. A versão é definida no elemento raiz XML e é utilizada para determinar que esquema utilizar para validar o ficheiro XML. A versão também é utilizada para determinar que funcionalidades estão disponíveis para a configuração. Eis uma tabela das versões, aliases utilizados nos exemplos de documentação e espaços de nomes:

Versão Alias Namespace
Windows 10 V2 http://schemas.microsoft.com/ShellLauncher/2019/Configuration
Windows 10 padrão http://schemas.microsoft.com/ShellLauncher/2018/Configuration

Para autorizar um XML de configuração compatível que inclua elementos e atributos específicos da versão, inclua sempre o espaço de nomes dos esquemas do suplemento e decore os atributos e elementos em conformidade com o alias do espaço de nomes. Por exemplo, para configurar a aplicação de quiosque a executar em ecrã inteiro, utilize o exemplo abaixo. Tenha em atenção o alias V2 associado ao http://schemas.microsoft.com/ShellLauncher/2019/Configuration espaço de nomes e o alias está etiquetado nas AppType propriedades e AllAppsFullScreen inline.

<?xml version="1.0" encoding="utf-8" ?>
<ShellLauncherConfiguration
  xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
  xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <Profile Id="{GUID}">
      <!-- Add configuration here as needed -->
      <Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <!-- Add configuration here as needed -->
    </Config>
  </Configs>
</ShellLauncherConfiguration>

Aqui, pode encontrar as Definições de Esquema XML (XSDs) do Iniciador de Shell.

Perfis

Um ficheiro de configuração pode conter um ou mais perfis. Cada perfil tem um identificador Profile Id exclusivo e, opcionalmente, um Name. Por exemplo:

<Profiles>
  <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
    <!-- Add configuration here as needed -->
  </Profile>
</Profiles>

Dica

O Profile Id tem de ser exclusivo no ficheiro XML. Pode gerar um GUID com o cmdlet New-Guiddo PowerShell .

Pode definir um Defaultprofile que é utilizado quando nenhum outro perfil está associado a uma conta de utilizador. Isto garante que todos os utilizadores que utilizam o dispositivo utilizam a mesma aplicação. Exemplo:

<Profiles>
  <DefaultProfile>
    <!-- Add configuration here as needed -->
  </DefaultProfile>
</Profiles>

Shell

Cada perfil define um Shell elemento, que contém detalhes sobre a aplicação a executar. O Shell elemento tem as seguintes propriedades:

Propriedade Descrição Detalhes
Shell Aplicação que é utilizada como uma shell do Windows. - Para aplicações da Plataforma Universal do Windows (UWP), tem de fornecer o ID do Modelo de Utilizador da Aplicação (AUMID). Saiba como Localizar o ID do Modelo de Utilizador da Aplicação de uma aplicação instalada.
- Para aplicações de ambiente de trabalho, especifique o caminho completo do executável, que pode conter variáveis de ambiente de sistema sob a forma de %variableName%. Também pode especificar quaisquer parâmetros que a aplicação possa necessitar.
V2:AppType Define o tipo de aplicação. Os valores permitidos são Desktop e UWP.
V2:AllAppsFullScreen Valor booleano que define se todas as aplicações são executadas em ecrã inteiro. - Quando definido como true, o Iniciador da Shell executa todas as aplicações em ecrã inteiro ou maximizado para aplicações de ambiente de trabalho.
- Quando definida ou false não definida, apenas a aplicação shell personalizada é executada em ecrã inteiro; outras aplicações iniciadas pelo utilizador são executadas em modo de janela.

Exemplo:

<Profile Id="{GUID}">
  <Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
    <!-- Add configuration here as needed -->
  </Shell>
</Profile>

No exemplo seguinte, a aplicação Meteorologia é executada em ecrã inteiro.

<?xml version="1.0" encoding="utf-8"?>
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <DefaultProfile>
      <Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
        <DefaultAction Action="RestartShell"/>
      </Shell>
    </DefaultProfile>
  </Profiles>
  <Configs/>
</ShellLauncherConfiguration>

No exemplo seguinte, o Microsoft Edge é executado em ecrã inteiro, abrindo um site. O site é recarregado após 2 minutos de inatividade.

<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
    <Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
        <DefaultAction Action="RestartShell"/>
    </Shell>
</Profile>

ReturnCodeActions

O Shell Launcher define quatro ações para processar saídas de aplicações. Pode personalizar o Shell Launcher e utilizar as ações com base em códigos de saída diferentes. Eis as ReturnCodeActions enumerações:

  • RestartShell
  • RestartDevice
  • ShutdownDevice
  • DoNothing

As ações podem ser utilizadas como ação predefinida ou mapeadas para um código de saída específico. Veja o Shell Launcher para saber como utilizar códigos de saída com o Shell Launcher WMI.

Pode especificar, no máximo, quatro ações personalizadas que mapeiam para quatro códigos de saída e uma ação predefinida para todos os outros códigos de saída. Quando uma aplicação sai e se o código de saída não for encontrado no mapeamento de ações personalizadas ou se não existir nenhuma ação predefinida definida, nada acontece. Por este motivo, deve, pelo menos, definir DefaultAction.

Exemplo:

<Profile Id="{GUID}">
  <Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
    <ReturnCodeActions>
      <ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
      <ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
      <ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
      <ReturnCodeAction ReturnCode="1" Action="DoNothing"/>
    </ReturnCodeActions>
    <DefaultAction Action="RestartDevice"/>
  </Shell>
</Profile>

Configurações

Em Configs, defina uma ou mais contas de utilizador e a associação com um perfil.

As contas individuais são especificadas com <Account Name=""/>.

Importante

Antes de aplicar a configuração do Shell Launcher, certifique-se de que a conta de utilizador especificada está disponível no dispositivo, caso contrário, falha.

Para contas de domínio e Microsoft Entra, desde que o dispositivo esteja associado ao Active Directory ou associado ao Microsoft Entra, a conta pode ser detetada na floresta de domínio ou inquilino ao qual o dispositivo está associado. Para contas locais, é necessário que a conta exista antes de configurar a conta para o Shell Launcher.

Utilizador local

A conta local pode ser introduzida como devicename\user, .\userou apenas user.

<Config>
  <Account Name="Learn Example"/>
  <Profile Id="{GUID}"/>
</Config>

Utilizador do Active Directory

As contas de domínio têm de ser introduzidas com o formato domain\samAccountName.

<Config>
  <Account Name="contoso\user"/>
  <Profile Id="{GUID}"/>
</Config>

Utilizador do Microsoft Entra

As contas do Microsoft Entra têm de ser especificadas com o formato : AzureAD\{UPN}. AzureAD tem de ser fornecido tal como está e, em seguida, seguir com o nome principal de utilizador (UPN) do Microsoft Entra.

<Config>
  <Account Name="azuread\user@contoso.onmicrosoft.com"/>
  <Profile Id="{GUID}"/>
</Config>

Quando a conta de utilizador inicia sessão, é aplicado o perfil do Iniciador de Shell associado, carregando a aplicação especificada no perfil.

Conta de sessão automática

Com <AutoLogonAccount>o , o Shell Launcher cria e gere uma conta de utilizador para iniciar sessão automaticamente após o reinício de um dispositivo. A conta é um utilizador padrão local com o nome Kiosk.

Exemplo:

<Configs>
  <Config>
    <!--account managed by Shell Launcher-->
    <AutoLogonAccount/>
    <Profile Id="{GUID}"/>
  </Config>
  <Configs>
    <!--local account-->
    <Account Name="Learn Example"/>
    <Profile ID="{GUID}"/>
  </Configs>
  <Configs>
    <!--Microsoft Entra account-->
    <Account Name="azuread\kiosk@contoso.com"/>
    <Profile ID="{GUID}"/>
  </Configs>
</Configs>

Exemplo

Eis um exemplo completo de um ficheiro de configuração do Shell Launcher, com dois perfis e três configurações:

<?xml version="1.0" encoding="utf-8"?>
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration" xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <DefaultProfile>
      <Shell Shell="%SystemRoot%\explorer.exe" />
    </DefaultProfile>
    <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" Name="Weather">
      <Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
        <DefaultAction Action="RestartShell" />
      </Shell>
    </Profile>
    <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Edge">
      <Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
        <ReturnCodeActions>
          <ReturnCodeAction ReturnCode="0" Action="RestartShell" />
          <ReturnCodeAction ReturnCode="-1" Action="RestartDevice" />
          <ReturnCodeAction ReturnCode="255" Action="ShutdownDevice" />
        </ReturnCodeActions>
        <DefaultAction Action="RestartShell" />
      </Shell>
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <AutoLogonAccount />
      <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
    </Config>
    <Config>
      <Account Name="azuread\kiosk1@contoso.onmicrosoft.com" />
      <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" />
    </Config>
    <Config>
      <Account Name="azuread\kiosk2@contoso.onmicrosoft.com" />
      <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
    </Config>
  </Configs>
</ShellLauncherConfiguration>