Utilizar scripts de shell em dispositivos macOS no Intune
Utilize scripts de shell para expandir as capacidades de gestão de dispositivos no Intune, para além do que é suportado pelo sistema operativo macOS.
Observação
Rosetta 2 é necessário para executar a versão x64 (Intel) de aplicativos em Macs Apple Silicon. Para instalar a Rosetta 2 no Apple Silicon Macs automaticamente, pode implementar um script de shell no Intune. Para ver um script de exemplo, veja Rosetta 2 Installation Script (Script de Instalação rosetta 2).
Pré-requisitos
Certifique-se de que os seguintes pré-requisitos são cumpridos ao compor scripts de shell e atribuí-los a dispositivos macOS.
- Os dispositivos estão a executar o macOS 12.0 ou posterior.
- Os dispositivos são geridos por Intune.
- Os dispositivos estão ligados diretamente à Internet. A ligação através de um proxy não é suportada.
- Os scripts da shell começam com
#!
e têm de estar numa localização válida, como#!/bin/sh
ou#!/usr/bin/env zsh
. - Estão instalados intérpretes de linha de comandos para as shells aplicáveis.
Considerações importantes antes de utilizar scripts de shell
- Os scripts da shell requerem que o agente de gestão do 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 de shell são executados em paralelo nos dispositivos como processos separados.
- Os scripts de shell que são executados como o utilizador com sessão iniciada serão executados para todas as contas de utilizador atualmente com sessão iniciada no dispositivo no momento da execução.
- É necessário um utilizador final para iniciar sessão no dispositivo para executar scripts em execução como um utilizador com sessão iniciada.
- Os privilégios de utilizador raiz são necessários se o script exigir efetuar alterações que uma conta de utilizador padrão não possa fazer.
- Os scripts da shell tentarão ser executados com mais frequência do que a frequência de script escolhida para determinadas condições, como, por exemplo, se o disco estiver cheio, se a localização de armazenamento for adulterada, se a cache local for eliminada ou se o dispositivo Mac for reiniciado.
- Os scripts da shell que estão em execução há mais de 60 minutos são parados e comunicados como "com falhas".
Criar e atribuir uma política de script de shell
Selecione Dispositivos>Por plataforma>macOS>Gerir dispositivos Scripts>>Adicionar.
Em Noções Básicas, insira as seguintes propriedades e selecione Avançar:
- Nome: introduza um nome para o script da shell.
- Descrição: introduza uma descrição para o script da shell. Essa configuração é opcional, mas recomendada.
Em Configurações de script, insira as seguintes propriedades e selecione Avançar:
- Carregar script: navegue para o script da shell. O ficheiro de script tem de ter menos de 1 MB de tamanho.
- Executar script como utilizador com sessão iniciada: selecione Sim para executar o script com as credenciais do utilizador no dispositivo. Selecione Não (predefinição) para executar o script como o utilizador raiz.
- Ocultar notificações de script em dispositivos: Por predefinição, são apresentadas notificações de script para cada script executado. Os utilizadores finais veem que uma TI está a configurar a notificação do computador a partir de Intune em dispositivos macOS.
- Frequência do script: Selecione a frequência com que o script vai ser executado. Selecione Não configurado (predefinição) para executar um script apenas uma vez. Os scripts com um conjunto de frequência também serão executados após um reinício do dispositivo.
- Número máximo de vezes a repetir se o script falhar: Selecione o número de vezes que o script deve ser executado se devolver um código de saída diferente de zero (zero significa êxito). Selecione Não configurado (predefinição) para não repetir quando um script falha.
Em Etiquetas de âmbito, adicione opcionalmente etiquetas de âmbito para o script e selecione Seguinte. Pode utilizar etiquetas de âmbito para determinar quem pode ver scripts no Intune. Para obter detalhes completos sobre etiquetas de âmbito, veja Utilizar o controlo de acesso baseado em funções e etiquetas de âmbito para TI distribuída.
Selecione Atribuições>Selecionar grupos a serem incluídos. É apresentada uma lista existente de grupos de Microsoft Entra. Selecione um ou mais grupos de utilizadores ou dispositivos que vão receber o script. Escolha Selecionar. Os grupos que escolher são apresentados na lista e receberão a sua política de scripts.
Observação
- Os scripts de shell atribuídos a grupos de utilizadores aplicam-se a qualquer utilizador que inicie sessão no Mac.
- A atualização de atribuições para scripts de shell também atualiza atribuições para Microsoft Intune Agente MDM para macOS.
Em Examinar + adicionar, é mostrado um resumo das configurações definidas. Selecione Adicionar para salvar o script. Quando seleciona Adicionar, a política de script é implementada nos grupos que escolheu.
O script que criou aparece agora na lista de scripts. Se necessário, pode ver os conteúdos dos scripts da shell do macOS depois de os carregar para Intune.
Monitorizar uma política de script de shell
Pode monitorizar a execução status de todos os scripts atribuídos para utilizadores e dispositivos ao escolher um dos seguintes relatórios:
- Scripts>selecione o script a monitorizar>Status de dispositivos
- Scripts>selecione o script a monitorizar>Status de utilizador
Importante
Independentemente da frequência de Script selecionada, a execução do script status é reportada apenas na primeira vez que um script é executado. A execução de scripts status não é atualizada em execuções subsequentes. No entanto, os scripts atualizados são tratados como novos scripts e comunicarão a execução status novamente.
Quando um script é executado, devolve um dos seguintes estados:
- Uma execução de script status de Failed indica que o script devolveu um código de saída diferente de zero ou que o script tem um formato incorreto.
- Uma execução de script status de Êxito indicou que o script devolveu zero como o código de saída.
Resolver problemas de políticas de script da shell do macOS com a recolha de registos
Pode recolher registos de dispositivos para ajudar a resolver problemas de script em dispositivos macOS.
Requisitos para a recolha de registos
Os seguintes itens são necessários para recolher registos num dispositivo macOS:
- Tem de especificar o caminho do ficheiro de registo absoluto completo.
- Os caminhos dos ficheiros têm de ser separados utilizando apenas um ponto e vírgula (;).
- O tamanho máximo da coleção de registos a carregar é de 60 MB (comprimidos) ou 25 ficheiros, o que ocorrer primeiro.
- Os tipos de ficheiro permitidos para a recolha de registos incluem as seguintes extensões: .log, .zip, .gz, .tar, .txt, .xml, .crash, .rtf
Recolher registos de dispositivos
Navegue para Dispositivos>Gerir dispositivos Scripts>e remediações Scripts> deplataforma e selecione um script de shell do macOS.
Em Status do Dispositivo ou relatório status utilizador, selecione um dispositivo.
Selecione Recolher registos, forneça caminhos de pastas de ficheiros de registo separados apenas por ponto e vírgula (;) sem espaços ou novas linhas entre caminhos.
Por exemplo, vários caminhos devem ser escritos como/Path/to/logfile1.zip;/Path/to/logfile2.log
.Importante
Vários caminhos de ficheiro de registo separados por vírgula, ponto final, nova linha ou aspas com ou sem espaços resultarão num erro de recolha de registos. Os espaços também não são permitidos como separadores entre caminhos.
Selecione OK. Os registos são recolhidos da próxima vez que o agente de gestão do Intune no dispositivo iniciar sessão com Intune. Normalmente, este marcar ocorre a cada 8 horas.
Observação
- Os registos recolhidos são encriptados no dispositivo, transmitidos e armazenados no armazenamento do Microsoft Azure durante 30 dias. Os registos armazenados são desencriptados a pedido e transferidos com Microsoft Intune centro de administração.
- Além dos registos especificados pelo administrador, os registos do agente de gestão do Intune também são recolhidos a partir destas pastas:
/Library/Logs/Microsoft/Intune
e~/Library/Logs/Microsoft/Intune
. Os nomes de ficheiro de registo do agente sãoIntuneMDMDaemon date--time.log
eIntuneMDMAgent date--time.log
. - Se algum ficheiro especificado pelo administrador estiver em falta ou tiver a extensão de ficheiro errada, encontrará estes nomes de ficheiro listados em
LogCollectionInfo.txt
.
Erros de recolha de registos
A recolha de registos pode não ser bem-sucedida devido a qualquer um dos seguintes motivos indicados na tabela abaixo. Para resolve estes erros, siga os passos de remediação.
Código de erro (hex) | Código de erro (dez) | Mensagem de erro | Etapas de correção |
---|---|---|---|
0X87D300D1 | 2016214834 | O tamanho do ficheiro de registo não pode exceder os 60 MB. | Certifique-se de que os registos comprimidos têm um tamanho inferior a 60 MB. |
0X87D300D1 | 2016214831 | O caminho do ficheiro de registo fornecido tem de existir. A pasta de utilizador do sistema é uma localização inválida para ficheiros de registo. | Certifique-se de que o caminho do ficheiro fornecido é válido e acessível. |
0X87D300D2 | 2016214830 | O carregamento do ficheiro de recolha de registos falhou devido à expiração do URL de carregamento. | Repita a ação Recolher registos . |
0X87D300D3, 0X87D300D5, 0X87D300D7 | 2016214829, 2016214827, 2016214825 | O carregamento do ficheiro de recolha de registos falhou devido a uma falha de encriptação. Repita o carregamento do registo. | Repita a ação Recolher registos . |
2016214828 | O número de ficheiros de registo excedeu o limite permitido de 25 ficheiros. | Apenas podem ser recolhidos até 25 ficheiros de registo de cada vez. | |
0X87D300D6 | 2016214826 | O carregamento do ficheiro de recolha de registos falhou devido a um erro zip. Repita o carregamento do registo. | Repita a ação Recolher registos . |
2016214740 | Não foi possível encriptar os registos porque não foram encontrados registos comprimidos. | Repita a ação Recolher registos . | |
2016214739 | Os registos foram recolhidos, mas não foi possível armazená-lo. | Repita a ação Recolher registos . |
Atributos personalizados para macOS
Pode criar perfis de atributo personalizados que lhe permitem recolher propriedades personalizadas de dispositivos macOS geridos através de scripts de shell.
Criar e atribuir um atributo personalizado para dispositivos macOS
Selecione Dispositivos>Por plataforma>macOS>Organizar dispositivos Atributos>personalizados para macOS>Adicionar.
Em Noções Básicas, insira as seguintes propriedades e selecione Avançar:
- Nome: introduza um nome para o script.
- Descrição: introduza uma descrição para o script. Essa configuração é opcional, mas recomendada.
Em Definições de atributo, introduza as seguintes propriedades e selecione Seguinte:
- Tipo de dados do atributo: selecione o tipo de dados do resultado que o script devolve. Os valores disponíveis são Cadeia, Número Inteiro e Data.
- Script: selecione um ficheiro de script.
Detalhes adicionais:
- O script da shell tem de ecoar o atributo a ser comunicado e o tipo de dados da saída tem de corresponder ao tipo de dados do atributo no perfil de atributo personalizado.
- O resultado devolvido pelo script da shell tem de ser 20 KB ou menos.
Observação
Ao utilizar
Date
atributos de tipo, certifique-se de que o script da shell devolve 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 na hora UTC:
#!/bin/sh var=$(date -u +"%Y-%m-%dT%H:%M:%SZ") echo $var # Prints an ISO-8601 compliant date in UTC time
Em Atribuições, clique em Selecionar grupos a incluir. Quando seleciona Selecionar grupos para incluir uma lista existente de Microsoft Entra grupos é apresentada. Selecione um ou mais grupos de utilizadores ou dispositivos que vão receber o script. Escolha Selecionar. Os grupos que escolher são apresentados na lista e receberão a sua política de scripts. Em alternativa, pode optar por selecionar Todos os utilizadores, Todos os dispositivos ou Todos os utilizadores e todos os dispositivos ao selecionar uma destas opções na caixa pendente junto a Atribuir a.
Observação
- Os scripts atribuídos a grupos de utilizadores aplicam-se a qualquer utilizador que inicie sessão no Mac.
Em Examinar + adicionar, é mostrado um resumo das configurações definidas. Selecione Adicionar para salvar o script. Quando seleciona Adicionar, a política de script é implementada nos grupos que escolheu.
O script que criou aparece agora na lista de atributos personalizados. Se necessário, pode ver os conteúdos dos atributos personalizados depois de os carregar para Intune.
Monitorizar uma política de atributos personalizada
Pode monitorizar a execução status de todos os perfis de atributo personalizados atribuídos para utilizadores e dispositivos ao escolher um dos seguintes relatórios:
- Atributos personalizados>selecione o perfil de atributo personalizado a monitorizar>Status de dispositivos
- Atributos personalizados>selecione o perfil de atributo personalizado a monitorizar>Status de utilizador
Importante
Os scripts de shell fornecidos em perfis de atributo personalizados são executados a cada 8 horas em Macs geridos e comunicados.
Uma vez executado um perfil de atributo personalizado, devolve um dos seguintes estados:
- Um status de Failed indica que o script devolveu um código de saída diferente de zero ou que o script tem um formato incorreto. O erro é comunicado na coluna Resultado .
- Como status de Success indica que o script devolveu zero como o código de saída. O resultado ecoado pelo script é comunicado na coluna Resultado .
Perguntas frequentes
Porque é que os scripts de shell atribuídos não estão em execução no dispositivo?
Podem existir vários motivos:
- O agente poderá ter de marcar para receber scripts novos ou atualizados. Este processo de marcar de entrada ocorre a cada 8 horas e é diferente do marcar de MDM. Certifique-se de que o dispositivo está ativo e ligado a uma rede para um agente com êxito marcar e aguarde que o agente marcar. Também pode pedir ao utilizador final para abrir Portal da Empresa no Mac, selecionar o dispositivo e clicar em Verificar definições.
- O agente pode não estar instalado. Verifique se o agente está instalado em
/Library/Intune/Microsoft Intune Agent.app
no dispositivo macOS. - O agente pode não estar em bom estado de funcionamento. O agente tentará recuperar durante 24 horas, remover-se-á e reinstalará se os scripts da shell ainda estiverem atribuídos.
Com que frequência é reportada a execução de scripts status?
A execução do script status é comunicada ao centro de administração do Microsoft Intune assim que a execução do script estiver concluída. Se um script estiver agendado para ser executado periodicamente com uma frequência definida, apenas comunica status primeira vez que for executado.
Quando é que os scripts da shell são executados novamente?
Um script é executado novamente apenas quando o número máximo de vezes a repetir se a definição do script falhar estiver configurada e o script falhar durante a execução. Se o Número máximo de vezes a repetir se o script falhar não estiver configurado e um script falhar durante a execução, não será executado novamente e a execução status será reportada como falhada.
Que permissões de função Intune são necessárias para scripts de shell?
A função atribuída ao intune requer permissões de Configurações de dispositivos para eliminar, 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 de a execução status ser reportada, o dispositivo não reportará a execução status do script no centro de administração.
Informações adicionais
Quando implementa scripts de shell ou atributos personalizados para dispositivos macOS a partir de Microsoft Intune, implementa a nova versão universal da aplicação do agente de gestão Intune que é executada nativamente em computadores 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 a Rosetta 2 no Apple Silicon Macs automaticamente, pode implementar um script de shell no Intune. Para ver um script de exemplo, veja Rosetta 2 Installation Script (Script de Instalação rosetta 2).