Configurar o Iniciador de Shell

Há duas maneiras de configurar o Iniciador de Shell:

  1. Usando o ShellLauncher nó do Provedor de Serviços de Configuração de Acesso Atribuído (CSP), que também habilita automaticamente o Iniciador de Shell no dispositivo, se o dispositivo der suporte a ele
  2. Usando os provedores WMI do Iniciador de Shell diretamente em um aplicativo. Ao usar esse método, você deve habilitar o Iniciador de Shell primeiro

Você pode configurar as seguintes opções para o Iniciador de Shell:

  • Adicionar/remover uma configuração de shell para um usuário ou grupo específico
  • Alterar a configuração padrão do shell
  • Obtenha informações sobre uma configuração de shell para um usuário ou grupo específico

Observação

As alterações não terão efeito até que um usuário entre.

Habilitar o Iniciador de Shell

O Iniciador de Shell é um componente opcional no Windows que não está habilitado por padrão. Para configurá-la, você deve primeiro habilitá-la. Você pode habilitar e configurar o Iniciador de Shell em uma imagem personalizada do Windows ou habilitá-lo antes de aplicar um pacote de provisionamento para configurá-lo.

Observação

Quando você configura o Iniciador de Shell com o Provedor de Serviços de Configuração de Acesso Atribuído (CSP), o Iniciador de Shell é habilitado automaticamente, se o dispositivo der suporte a ele. Não há necessidade de habilitar o Iniciador de Shell separadamente ao configurá-lo usando o CSP de Acesso Atribuído.

Há várias maneiras de habilitar o Iniciador de Shell, selecione o método que melhor atende às suas necessidades para saber mais.

Para habilitar o Iniciador de Shell usando o Painel de Controle, siga estas etapas:

  1. Abra o Painel de ControleProgramas>>Ative ou desative recursos do Windows ou use o comandooptionalfeatures.exe
  2. Expanda Bloqueio de dispositivos e selecione Inicializador de Shell
  3. Selecione OK para habilitar o Iniciador de Shell

Iniciar shells diferentes para contas de usuário diferentes

Por padrão, o Iniciador de Shell executa o shell padrão, que é especificado quando você cria a imagem do sistema operacional em tempo de design. O shell padrão é definido como o Processador de Comando do Windows (Cmd.exe), mas você pode especificar qualquer arquivo executável para ser o shell padrão.

Você também pode configurar o Iniciador de Shell para iniciar um shell diferente para usuários ou grupos específicos se não quiser executar o shell padrão. Por exemplo, você pode configurar um dispositivo para iniciar um shell de aplicativo personalizado para contas de convidado, mas executar o shell padrão do Windows Explorer para contas de administrador para manutenção do dispositivo.

Quando a conta conectada atual pertence a dois ou mais grupos que têm configurações diferentes definidas para cada grupo, o Iniciador de Shell usa a primeira configuração que encontra. A ordem de pesquisa não está definida, portanto, recomendamos que você evite atribuir um usuário a vários grupos com configurações diferentes do Iniciador de Shell.

Observação

Se você usar o provedor WMI para configurar o Iniciador de Shell para um usuário ou grupo em tempo de execução, deverá usar o SID (identificador de segurança) para essa entidade de segurança. Não é possível usar o nome de usuário ou nome de grupo.

Para obter mais informações sobre identificadores de segurança comuns, consulte SIDs conhecidos.

Comportamento de inicialização e saída do Iniciador de Shell

O Iniciador de Shell processa as chaves do Registro e RunOnce antes Run de iniciar o shell personalizado, para que seu shell personalizado não precise lidar com a inicialização automática de outros aplicativos e serviços.

O Iniciador de Shell também lida com o comportamento do sistema quando o shell personalizado é encerrado. Você poderá configurar o comportamento de saída do shell se o comportamento padrão não atender às suas necessidades. Quando um shell personalizado é encerrado, o Iniciador de Shell pode executar uma das quatro ações:

  • 0: Reinicie o shell
  • 1: Reinicie o dispositivo
  • 2: desligue o dispositivo
  • 3: Não fazer nada

Importante

Verifique se o aplicativo shell não sai automaticamente e não é fechado automaticamente por nenhum recurso, como o Filtro de Diálogo, pois isso pode levar a um ciclo infinito de saída e reinicialização, a menos que a ação do código de retorno esteja definida para não fazer nada.

Ação de código de retorno padrão

Você pode definir uma ação de código de retorno padrão para o Iniciador de Shell com a configuração DefaultReturnCodeAction. Se você não alterar o valor inicial, a ação de código de retorno padrão será definida como 0 (zero), o que indica que o Iniciador de Shell reiniciará o shell quando o shell for encerrado.

Mapear o código de saída para uma ação do Iniciador de Shell

O Iniciador de Shell pode executar uma ação específica com base no código de saída retornado pelo shell. Para qualquer código de saída retornado pelo shell, você pode configurar a ação que o Iniciador de Shell executa mapeando esse código de saída para uma das ações de saída do shell.

Se o código de saída não corresponder a um valor definido, o Iniciador de Shell executará a ação de código de retorno padrão.

Por exemplo, o shell pode retornar valores de código de saída de , 0, 1, ou 255 dependendo de -1como o shell sai. Você pode configurar o Iniciador de Shell para:

  • Reinicie o dispositivo (1) quando o shell retornar um código de saída de valor -1
  • Reinicie o shell (0) quando o shell retornar um código de saída de valor 0
  • Não faça nada (3) quando o shell retornar um código de saída de valor 1
  • Desligue o dispositivo (2) quando o shell retornar um código de saída de valor 255

Seu mapeamento de ação de código de retorno personalizado seria assim:

Código de saída Ação
-1 1 (reinicie o dispositivo)
0 0 (reiniciar o shell)
1 3 (não faça nada)
255 2 (desligar o dispositivo)

Defina seu shell personalizado com o CSP de Acesso Atribuído

A configuração do Shell Launcher é feita usando um arquivo XML. O arquivo XML é aplicado ao dispositivo por meio do CSP de Acesso Atribuído, usando uma das seguintes opções:

  • Uma solução de MDM (Gerenciamento de Dispositivos Móveis), como o Microsoft Intune
  • Pacotes de provisionamento
  • O provedor WMI da Ponte de MDM

Observação

Configurar o Iniciador de Shell usando o CSP de Acesso Atribuído habilita automaticamente o Iniciador de Shell no dispositivo, se o dispositivo der suporte a ele.

Para saber como configurar o arquivo XML do Iniciador de Shell, consulte Criar um arquivo de configuração do Iniciador de Shell.

As instruções a seguir fornecem detalhes sobre como configurar seus dispositivos. Selecione a opção que melhor atende às suas necessidades.

Você pode configurar dispositivos usando uma política personalizada com o CSP AssignedAccess.

  • Configuração:./Vendor/MSFT/AssignedAccess/ShellLauncher
  • Valor: conteúdo do arquivo de configuração XML

Atribua a política a um grupo que contenha como membros os dispositivos que você deseja configurar.

Experiência do usuário

Depois que as configurações forem aplicadas, os usuários configurados para usar o Iniciador de Shell executarão o shell personalizado após a entrada.

Dependendo da sua configuração, você pode fazer com que um usuário entre automaticamente no dispositivo.

Remover Iniciador de Shell

Aqui estão as opções para remover o Shell Launcher, selecione o método que melhor se adapta às suas necessidades:

Cancele a atribuição ou exclua a política que contém a configuração.

Próximas etapas

Saiba como configurar o arquivo XML do Iniciador de Shell:

Criar um arquivo de configuração do Iniciador de Shell