Usar scripts de shell em dispositivos macOS no Intune

Use scripts de shell para estender os recursos de gerenciamento de dispositivos no Intune, além do que é suportado pelo sistema operacional macOS.

Observação

Rosetta 2 é necessário para executar a versão x64 (Intel) de aplicativos em Macs Apple Silicon. Para instalar o Rosetta 2 no Apple Silicon Macs automaticamente, você pode implantar um script shell no Intune. Para exibir um script de exemplo, consulte Script de Instalação do Rosetta 2.

Pré-requisitos

Verifique se os pré-requisitos a seguir são atendidos ao compor scripts de shell e atribuí-los a dispositivos macOS.

  • Os dispositivos estão executando o macOS 12.0 ou posterior.
  • Os dispositivos são gerenciados pelo Intune.
  • Os dispositivos estão conectados diretamente à Internet. Não há suporte para a conexão por meio de um proxy.
  • Os scripts do Shell começam com #! e devem estar em um local válido, como #!/bin/sh ou #!/usr/bin/env zsh.
  • Os intérpretes de linha de comando para os shells aplicáveis são instalados.

Considerações importantes antes de usar scripts de shell

  • Os scripts do Shell exigem que o agente de gerenciamento Microsoft Intune seja instalado com êxito no dispositivo macOS. Para obter mais informações, confira Agente de gerenciamento do Microsoft Intune para macOS.
  • Os scripts do Shell são executados em paralelo em dispositivos como processos separados.
  • Os scripts do Shell executados como usuário conectado serão executados para todas as contas de usuário inscrevidas no dispositivo no momento da execução.
  • Um usuário final é obrigado a entrar no dispositivo para executar scripts em execução como um usuário conectado.
  • Privilégios de usuário raiz são necessários se o script exigir a realização de alterações que uma conta de usuário padrão não pode.
  • Os scripts do Shell tentarão ser executados com mais frequência do que a frequência de script escolhida para determinadas condições, como se o disco estiver cheio, se o local de armazenamento for adulterado, se o cache local for excluído ou se o dispositivo Mac for reiniciado.
  • Os scripts do Shell que estão em execução por mais de 60 minutos são interrompidos e relatados como "com falha".

Criar e atribuir uma política de script de shell

  1. Entre no Centro de administração do Microsoft Intune.

  2. Selecione Dispositivos>macOS>Shell scripts>Adicionar.

  3. Em Noções Básicas, insira as seguintes propriedades e selecione Avançar:

    • Nome: insira um nome para o script do shell.
    • Descrição: insira uma descrição para o script do shell. Essa configuração é opcional, mas recomendada.
  4. Em Configurações de script, insira as seguintes propriedades e selecione Avançar:

    • Script de carregamento: navegue até o script do shell. O arquivo de script deve ter menos de 200 KB de tamanho.
    • Executar script como usuário conectado: selecione Sim para executar o script com as credenciais do usuário no dispositivo. Escolha Não (padrão) para executar o script como o usuário raiz.
    • Ocultar notificações de script em dispositivos: Por padrão, as notificações de script são mostradas para cada script executado. Os usuários finais veem que uma TI está configurando a notificação do computador do Intune em dispositivos macOS.
    • Frequência de script: Selecione com que frequência o script deve ser executado. Escolha Não configurado (padrão) para executar um script apenas uma vez. Scripts com um conjunto de frequências também serão executados após uma reinicialização do dispositivo.
    • Número máximo de vezes para tentar novamente se o script falhar: Selecione quantas vezes o script deve ser executado se ele retornar um código de saída não zero (zero significando êxito). Escolha Não configurado (padrão) para não repetir quando um script falhar.
  5. Em Marcas de escopo, opcionalmente, adicione marcas de escopo para o script e selecione Avançar. Você pode usar marcas de escopo para determinar quem pode ver scripts no Intune. Para obter detalhes completos sobre marcas de escopo, consulte Usar o controle de acesso baseado em função e marcas de escopo para TI distribuída.

  6. Selecione Atribuições>Selecionar grupos a serem incluídos. Uma lista existente de grupos de Microsoft Entra é mostrada. Selecione um ou mais grupos de usuários ou dispositivos que devem receber o script. Escolha Selecionar. Os grupos escolhidos são mostrados na lista e receberão sua política de script.

    Observação

    • Scripts de shell atribuídos a grupos de usuários se aplicam a qualquer usuário que faça logon no Mac.
    • A atualização de atribuições para scripts de shell também atualiza as atribuições para Microsoft Intune MDM Agent para macOS.
  7. Em Examinar + adicionar, é mostrado um resumo das configurações definidas. Selecione Adicionar para salvar o script. Quando você seleciona Adicionar, a política de script é implantada nos grupos escolhidos.

O script que você criou agora aparece na lista de scripts. Se necessário, você pode exibir o conteúdo dos scripts de shell do macOS depois de carregá-los no Intune.

Monitorar uma política de script de shell

Você pode monitorar o status de execução de todos os scripts atribuídos para usuários e dispositivos escolhendo um dos seguintes relatórios:

  • Scripts>selecione o script para monitorar>Status de dispositivo
  • Scripts>selecione o script para monitorar>Status de usuário

Importante

Independentemente da frequência de script selecionada, a execução do script status é relatada apenas na primeira vez que um script é executado. A execução de script status não é atualizada em execuções subsequentes. No entanto, os scripts atualizados são tratados como novos scripts e relatarão a execução status novamente.

Depois que um script é executado, ele retorna um dos seguintes status:

  • Uma execução de script status de Falha indica que o script retornou um código de saída não zero ou o script está malformado.
  • Uma execução de script status de Sucesso indicou que o script retornou zero como o código de saída.

Solucionar problemas de políticas de script do shell do macOS usando a coleção de logs

Você pode coletar logs de dispositivo para ajudar a solucionar problemas de script em dispositivos macOS.

Requisitos para a coleção de logs

Os seguintes itens são necessários para coletar logs em um dispositivo macOS:

  • Você deve especificar o caminho completo do arquivo de log absoluto.
  • Os caminhos de arquivo devem ser separados usando apenas um ponto e vírgula (;).
  • O tamanho máximo da coleção de logs a ser carregado é de 60 MB (compactado) ou 25 arquivos, o que ocorrer primeiro.
  • Os tipos de arquivo permitidos para a coleção de logs incluem as seguintes extensões: .log, .zip, .gz, .tar, .txt, .xml, .crash, .rtf

Coletar logs de dispositivo

  1. Entre no Centro de administração do Microsoft Intune.

  2. Navegue até Scripts de Dispositivos> e selecione um script de shell do macOS.

  3. No relatório status de dispositivo ou status de usuário, selecione um dispositivo.

  4. Selecione Coletar logs, forneça caminhos de pasta de arquivos de log separados apenas por um ponto e vírgula (;) sem espaços ou linhas novas entre caminhos.
    Por exemplo, vários caminhos devem ser escritos como /Path/to/logfile1.zip;/Path/to/logfile2.log.

    Importante

    Vários caminhos de arquivo de log separados usando vírgula, período, linha nova ou aspas com ou sem espaços resultarão em erro de coleção de logs. Espaços também não são permitidos como separadores entre caminhos.

  5. Selecione OK. Os logs são coletados na próxima vez que o agente de gerenciamento do Intune no dispositivo fizer check-in com o Intune. Esse marcar geralmente ocorre a cada 8 horas.

    Observação

    • Os logs coletados são criptografados no dispositivo, transmitidos e armazenados no armazenamento do Microsoft Azure por 30 dias. Os logs armazenados são descriptografados sob demanda e baixados usando Microsoft Intune centro de administração.
    • Além dos logs especificados pelo administrador, os logs do agente de gerenciamento do Intune também são coletados dessas pastas: /Library/Logs/Microsoft/Intune e ~/Library/Logs/Microsoft/Intune. Os nomes de arquivo de log do agente são IntuneMDMDaemon date--time.log e IntuneMDMAgent date--time.log.
    • Se algum arquivo especificado pelo administrador estiver ausente ou tiver a extensão de arquivo errada, você encontrará esses nomes de arquivo listados em LogCollectionInfo.txt.

Erros de coleção de logs

A coleção de logs pode não ter êxito devido a nenhum dos seguintes motivos fornecidos na tabela abaixo. Para resolve esses erros, siga as etapas de correção.

Código de erro (hex) Código de erro (dez) Mensagem de erro Etapas de correção
0X87D300D1 2016214834 O tamanho do arquivo de log não pode exceder 60 MB. Verifique se os logs compactados têm menos de 60 MB de tamanho.
0X87D300D1 2016214831 O caminho do arquivo de log fornecido deve existir. A pasta de usuário do sistema é um local inválido para arquivos de log. Verifique se o caminho do arquivo fornecido é válido e acessível.
0X87D300D2 2016214830 Falha no upload do arquivo de coleta de log devido à expiração da URL de carregamento. Tente novamente a ação Coletar logs .
0X87D300D3, 0X87D300D5, 0X87D300D7 2016214829, 2016214827, 2016214825 Falha no carregamento do arquivo de coleção de logs devido à falha de criptografia. Fazer o upload de log de repetição. Tente novamente a ação Coletar logs .
2016214828 O número de arquivos de log excedeu o limite permitido de 25 arquivos. Somente até 25 arquivos de log podem ser coletados por vez.
0X87D300D6 2016214826 Falha no carregamento do arquivo de coleção de logs devido a um erro zip. Fazer o upload de log de repetição. Tente novamente a ação Coletar logs .
2016214740 Os logs não puderam ser criptografados, pois os logs compactados não foram encontrados. Tente novamente a ação Coletar logs .
2016214739 Os logs foram coletados, mas não puderam ser armazenados. Tente novamente a ação Coletar logs .

Atributos personalizados para macOS

Você pode criar perfis de atributo personalizados que permitem coletar propriedades personalizadas do dispositivo macOS gerenciado usando scripts de shell.

Criar e atribuir um atributo personalizado para dispositivos macOS

  1. Entre no Centro de administração do Microsoft Intune.

  2. Selecione DispositivosmacOS> Atributos >personalizados>Adicionar.

  3. Em Noções Básicas, insira as seguintes propriedades e selecione Avançar:

    • Nome: insira um nome para o script.
    • Descrição: insira uma descrição para o script. Essa configuração é opcional, mas recomendada.
  4. Em Configurações de atributo, insira as seguintes propriedades e selecioneAvançar:

    • Tipo de dados de atributo: selecione o tipo de dados do resultado que o script retorna. Os valores disponíveis são String, Integer e Date.
    • Script: selecione um arquivo de script.

    Detalhes adicionais:

    • O script do shell deve ecoar o atributo a ser relatado e o tipo de dados da saída deve corresponder ao tipo de dados do atributo no perfil de atributo personalizado.
    • O resultado retornado pelo script do shell deve ser 20KB ou menos.

    Observação

    Ao usar Date atributos de tipo, verifique se o script do shell retorna datas no formato ISO-8601. Consulte os exemplos abaixo.

    Para imprimir uma data compatível com ISO-8601 com fuso horário:

    #!/bin/sh
    var=$(date +"%Y-%m-%dT%H:%M:%S%z")
    echo $var # Prints an ISO-8601 compliant date with time-zone
    

    Para imprimir uma data compatível com ISO-8601 no horário UTC:

    #!/bin/sh
    var=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
    echo $var # Prints an ISO-8601 compliant date in UTC time
    
  5. Em Atribuições, clique em Selecionar grupos para incluir. Ao escolher Selecionar grupos para incluir uma lista existente de grupos de Microsoft Entra é mostrada. Selecione um ou mais grupos de usuários ou dispositivos que devem receber o script. Escolha Selecionar. Os grupos escolhidos são mostrados na lista e receberão sua política de script. Como alternativa, você pode optar por selecionar Todos os usuários, Todos os dispositivos ou Todos os usuários e todos os dispositivos selecionando uma dessas opções na caixa suspensa ao lado de Atribuir.

    Observação

    • Scripts atribuídos a grupos de usuários se aplicam a qualquer usuário que faça logon no Mac.
  6. Em Examinar + adicionar, é mostrado um resumo das configurações definidas. Selecione Adicionar para salvar o script. Quando você seleciona Adicionar, a política de script é implantada nos grupos escolhidos.

O script que você criou agora aparece na lista de atributos personalizados. Se necessário, você pode exibir o conteúdo dos atributos personalizados depois de carregá-los no Intune.

Monitorar uma política de atributo personalizada

Você pode monitorar o status de execução de todos os perfis de atributo personalizados atribuídos para usuários e dispositivos escolhendo um dos seguintes relatórios:

  • Atributos personalizados>selecione o perfil de atributo personalizado para monitorar>Status de dispositivo
  • Atributos personalizados>selecione o perfil de atributo personalizado para monitorar>Status de usuário

Importante

Os scripts do Shell fornecidos em perfis de atributo personalizados são executados a cada 8 horas em Macs gerenciados e relatados.

Depois que um perfil de atributo personalizado é executado, ele retorna um dos seguintes status:

  • Um status de Falha indica que o script retornou um código de saída não zero ou o script está malformado. O erro é relatado na coluna Resultado .
  • Como status de Sucesso indica que o script retornou zero como o código de saída. A saída ecoada pelo script é relatada na coluna Resultado .

Perguntas frequentes

Por que os scripts de shell atribuídos não estão em execução no dispositivo?

Pode haver várias razões:

  • O agente pode precisar marcar para receber scripts novos ou atualizados. Esse processo de marcar ocorre a cada 8 horas e é diferente do MDM marcar-in. Verifique se o dispositivo está acordado e conectado a uma rede para um agente bem-sucedido marcar e aguarde o agente marcar. Você também pode solicitar que o usuário final abra Portal da Empresa no Mac, selecione o dispositivo e clique em Verificar configurações.
  • O agente pode não ser instalado. Verifique se o agente está instalado no /Library/Intune/Microsoft Intune Agent.app dispositivo macOS.
  • O agente pode não estar em um estado saudável. O agente tentará se recuperar por 24 horas, remover-se e reinstalar se os scripts de shell ainda forem atribuídos.

Com que frequência o script é executado status é relatado?

A execução de script status é relatada como Microsoft Intune centro de administração assim que a execução do script for concluída. Se um script for agendado para ser executado periodicamente em uma frequência definida, ele só relatará status primeira vez que ele é executado.

Quando os scripts de shell são executados novamente?

Um script é executado novamente somente quando o número máximo de vezes para tentar novamente se o script falhar na configuração estiver configurado e o script falhar em execução. Se o número máximo de vezes para tentar novamente se o script falhar não estiver configurado e um script falhar em execução, ele não será executado novamente e executará status será relatado como falha.

Quais permissões de função do Intune são necessárias para scripts de shell?

Sua função atribuída no intune requer permissões de configurações de dispositivo para excluir, atribuir, criar, atualizar ou ler scripts de shell.

Problemas conhecidos

  • Nenhuma execução de script status: no caso improvável de um script ser recebido no dispositivo e o dispositivo ficar offline antes da execução status for relatada, o dispositivo não relatará a execução do relatório status para o script no centro de administração.

Informações adicionais

Quando você implanta scripts de shell ou atributos personalizados para dispositivos macOS de Microsoft Intune, ele implanta a nova versão universal do aplicativo agente de gerenciamento do Intune que é executado nativamente em máquinas Apple Silicon Mac. A mesma implantação instalará a versão x64 do aplicativo em computadores Mac Intel. Rosetta 2 é necessário para executar a versão x64 (Intel) de aplicativos em Macs Apple Silicon. Para instalar o Rosetta 2 no Apple Silicon Macs automaticamente, você pode implantar um script shell no Intune. Para exibir um script de exemplo, consulte Script de Instalação do Rosetta 2.

Próximas etapas