Partilhar via


Criar um arquivo de configuração do Shell Launcher

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

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

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

  • Um ou vários profiles. Cada um profile define:
    • o aplicativo que substitui o shell padrão do Windows (Explorer.exe), que é executado quando um usuário entra
    • a ação padrão a ser executada quando o aplicativo sai e as ações quando o aplicativo sai com um código de retorno específico
  • Um ou vários configs. Cada config uma associa uma conta de usuário a uma profile

Observação

Um perfil não terá efeito se não estiver associado a uma conta de usuário.

Aqui está um exemplo básico de um arquivo 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

A configuração do Shell Launcher XML é versão. A versão é definida no elemento raiz XML e é usada para determinar qual esquema usar para validar o arquivo XML. A versão também é usada para determinar quais recursos estão disponíveis para a configuração. Aqui está uma tabela das versões, aliases usados nos exemplos de documentação e namespaces:

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 uma configuração compatível XML que inclui elementos e atributos específicos da versão, inclua sempre o namespace dos esquemas de complemento e decore os atributos e elementos de acordo com o alias do namespace. Por exemplo, para configurar o aplicativo de quiosque a ser executado em tela inteira, use o exemplo abaixo. Observe o alias V2 associado ao http://schemas.microsoft.com/ShellLauncher/2019/Configuration namespace e o alias é marcado nas AppType propriedades e AllAppsFullScreen embutidas.

<?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 você pode encontrar as Definições de Esquema XML do Inicializador do Shell (XSDs).

Perfis

Um arquivo 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 deve ser exclusivo no arquivo XML. Você pode gerar um GUID com o cmdlet New-Guiddo PowerShell .

Você pode definir um Defaultprofile que é usado quando nenhum outro perfil está associado a uma conta de usuário. Isso garante que todos os usuários que usam o dispositivo usem o mesmo aplicativo. Exemplo:

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

Shell

Cada perfil define um Shell elemento, que contém detalhes sobre o aplicativo a ser executado. O Shell elemento tem as seguintes propriedades:

Propriedade Descrição Detalhes
Shell Aplicativo que é usado como um shell do Windows. - Para aplicativos de Plataforma Universal do Windows (UWP), você deve fornecer a ID do Modelo de Usuário de Aplicativo (AUMID). Saiba como localizar a ID do Modelo de Usuário de Aplicativo de um aplicativo instalado.
- Para aplicativos de área de trabalho, especifique o caminho completo do executável, que pode conter variáveis de ambiente do sistema na forma de %variableName%. Você também pode especificar todos os parâmetros que o aplicativo pode exigir.
V2:AppType Define o tipo de aplicativo. Os valores permitidos são Desktop e UWP.
V2:AllAppsFullScreen Valor booliano que define se todos os aplicativos são executados em tela inteira. - Quando definido como , o TrueShell Launcher executa todos os aplicativos em tela inteira ou maximizado para aplicativos de área de trabalho.
- Quando definido como False ou não definido, apenas o aplicativo shell personalizado é executado em tela inteira; outros aplicativos iniciados pelo usuário são executados no modo de janela.

Exemplo:

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

No próximo exemplo, o aplicativo Weather é executado em tela inteira.

<?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 próximo exemplo, o Microsoft Edge é executado em tela inteira, 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 lidar com saídas de aplicativo. Você pode personalizar o Shell Launcher e usar as ações com base em código de saída diferente. Aqui estão os ReturnCodeActions enumerações:

  • RestartShell
  • RestartDevice
  • ShutdownDevice
  • DoNothing

As ações podem ser usadas como ação padrão ou mapeadas para um código de saída específico. Consulte o Shell Launcher para saber como usar códigos de saída com o Shell Launcher WMI.

Você pode especificar no máximo quatro ações personalizadas mapeando para quatro códigos de saída e uma ação padrão para todos os outros códigos de saída. Quando um aplicativo sai e se o código de saída não for encontrado no mapeamento de ação personalizado ou não houver nenhuma ação padrão definida, nada acontecerá. Por esse motivo, você 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 usuário e sua associação com um perfil.

Contas individuais são especificadas usando <Account Name=""/>.

Importante

Antes de aplicar a configuração do Shell Launcher, verifique se a conta de usuário especificada está disponível no dispositivo, caso contrário, ela falhará.

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

Usuário local

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

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

Usuário do Active Directory

As contas de domínio devem ser inseridas usando o formato domain\samAccountName.

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

Microsoft Entra usuário

Microsoft Entra contas devem ser especificadas com o formato: AzureAD\{UPN}. AzureADdeve ser fornecido como está e, em seguida, seguir com o UPN (nome da entidade de usuário) Microsoft Entra.

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

Quando a conta de usuário entra, o perfil do Shell Launcher associado é aplicado, carregando o aplicativo especificado no perfil.

Conta de autologon

Com <AutoLogonAccount>o , o Shell Launcher cria e gerencia uma conta de usuário para entrar automaticamente após a reinicialização de um dispositivo. A conta é um usuário padrão local chamado 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

Aqui está um exemplo completo de um arquivo 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>