Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Antes de poder utilizar definições personalizadas para a conformidade com Microsoft Intune, tem de criar um script que detete as definições de conformidade personalizadas nos dispositivos. O script que utilizar depende da plataforma:
- Os dispositivos Windows utilizam um script do PowerShell.
- Linux dispositivos podem executar scripts em qualquer idioma, desde que o interpretador correspondente seja instalado e configurado no dispositivo.
O script de deteção é implementado nos dispositivos como parte das suas políticas de conformidade personalizadas. Quando a compatibilidade é executada num dispositivo, o script deteta as definições definidas no ficheiro JSON que fornece ao criar a política de conformidade.
Todos os scripts de deteção:
- São adicionados a Intune antes de criar uma política de conformidade. Depois de adicionar um script, este fica disponível para selecionar quando criar uma política de conformidade com definições personalizadas.
- Cada script de deteção só pode ser utilizado com uma política de conformidade e cada política de conformidade só pode incluir um script de deteção.
- Não pode eliminar scripts de deteção atribuídos a uma política de conformidade até anular a atribuição do script da política.
- Execute num dispositivo que recebe a política de conformidade. O script avalia as condições do ficheiro JSON que carrega ao criar uma política de conformidade personalizada.
- Identifique uma ou mais definições, conforme definido no JSON, e devolva uma lista de valores detetados para essas definições.
Além disso, o script do PowerShell para Windows:
Tem de ser comprimido para os resultados de saída numa única linha. Por exemplo, o seguinte script tem de incluir
return $hash | ConvertTo-Json -Compresscomo a última linha:$hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent} return $hash | ConvertTo-Json -Compress
Limites
Para que os dados de compatibilidade sejam devolvidos com êxito ao Intune, os scripts têm de permanecer dentro dos seguintes limites:
- Os scripts não podem ter mais de 1 megabyte (MB) cada.
- O resultado gerado por cada script não pode ser superior a 1 MB.
- Os scripts têm de ter um tempo de execução limitado:
- No Linux, os scripts têm de demorar cinco minutos ou menos a serem executados.
- No Windows, os scripts têm de demorar 10 minutos ou menos a serem executados.
Script de deteção de exemplo para Windows
O exemplo seguinte é um script do PowerShell de exemplo que pode utilizar para dispositivos Windows:
$WMI_ComputerSystem = Get-WMIObject -class Win32_ComputerSystem
$WMI_BIOS = Get-WMIObject -class Win32_BIOS
$TPM = Get-Tpm
$hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent}
return $hash | ConvertTo-Json -Compress
O exemplo seguinte mostra o resultado do script de exemplo para Windows:
{"BiosVersion":"1.24","Manufacturer":"Microsoft Corporation","TPMChipPresent":true}
Script de deteção de exemplo para Linux
Observação
No Linux, os scripts de deteção são executados no contexto do utilizador. Não podem marcar para definições ao nível do sistema que exijam elevação. Um exemplo desta limitação é o state/hash/etc/sudoers do ficheiro.
Os scripts de deteção para Linux podem chamar qualquer intérprete que cumpra os seus requisitos. Certifique-se de que o interpretador escolhido está corretamente instalado e configurado no dispositivo de destino antes de implementar o script. Para especificar o interpretador para um script, inclua uma linha shebang na parte superior do script, indicando o caminho para o binário do intérprete.
Por exemplo, se o script deve utilizar a shell do Bash como interpretador, adicione a seguinte linha na parte superior do script:
#!/bin/bash
Para utilizar o Python, especifique o caminho do intérprete. Por exemplo, adicione a seguinte linha à parte superior do script: #!/usr/bin/python3 ou #!/usr/bin/env python3
Dica
Para lidar com interrupções ou sinais de cancelamento, implemente mecanismos de terminação corretos nos scripts. Quando um script processa estes sinais, pode executar tarefas de limpeza e sair corretamente, garantindo que os recursos são libertados corretamente. Por exemplo, detete sinais como SIGINT (sinal de interrupção) ou SIGTERM (sinal de terminação) e defina ações personalizadas a executar quando forem recebidas. Estas ações podem incluir fechar ficheiros abertos, libertar bloqueios adquiridos ou limpar recursos temporários.
Para obter mais informações, veja o guia Intune Linux Custom Compliance Samples (Exemplos de Conformidade Personalizada).
Adicionar um script de deteção ao Intune
Antes de implementar o script na produção, teste-o num ambiente isolado para garantir que a sintaxe que utiliza se comporta conforme esperado.
Observação
O fluxo de trabalho de carregamento de scripts não suporta etiquetas de âmbito. Tem de lhe ser atribuída a etiqueta de âmbito predefinida para criar, editar ou ver scripts de deteção de conformidade personalizados.
Inicie sessão no centro de administração do Microsoft Intune e aceda a Segurança > do ponto finalScripts adicionar Scripts> deconformidade> do dispositivo. Em seguida, escolha a sua plataforma.
Em Noções básicas, introduza um Nome descritivo para o script.
Em Definições, adicione o script ao Script de deteção. Reveja cuidadosamente o script. Intune não valida o script para erros de sintaxe ou programação.
Apenas para Windows – nas Definições, configure o seguinte comportamento para o script do PowerShell:
- Execute este script com as credenciais com sessão iniciada – por predefinição, o script é executado no contexto do Sistema no dispositivo. Defina este valor como Sim para que seja executado no contexto do utilizador com sessão iniciada. Se o utilizador não tiver sessão iniciada, o script volta à predefinição para o contexto do Sistema.
- Impor marcar de assinatura de script – para obter mais informações, veja about_Signing na documentação do PowerShell.
- Executar script no Anfitrião do PowerShell de 64 bits – por predefinição, o script é executado com o anfitrião do PowerShell de 32 bits. Defina este valor como Sim para forçar o script a ser executado com o anfitrião de 64 bits.
Conclua o processo de criação do script. O script é apresentado no painel Scripts e está disponível para selecionar ao configurar políticas de conformidade.