Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Utilizzare gli script della shell per estendere le funzionalità di gestione dei dispositivi in Intune, oltre a quelle supportate dal sistema operativo macOS.
Nota
Rosetta 2 è necessario per eseguire la versione x64 (Intel) delle app sui Mac Apple Silicon. Per installare Rosetta 2 automaticamente sui Mac Apple Silicon, distribuire uno script della shell in Intune. Per visualizzare uno script di esempio, vedere Script di installazione di Rosetta 2.
Prerequisiti
Assicurarsi che siano soddisfatti i prerequisiti seguenti durante la composizione di script della shell e l'assegnazione ai dispositivi macOS.
- I dispositivi eseguono macOS 12.0 o versione successiva.
- Intune gestisce i dispositivi.
- I dispositivi si connettono direttamente a Internet. Intune non supporta la connessione tramite proxy.
- Gli script della shell iniziano con
#!e si trovano in una posizione valida, ad esempio#!/bin/sho#!/usr/bin/env zsh. - Vengono installati interpreti della riga di comando per le shell applicabili.
Considerazioni importanti prima di utilizzare gli script della shell
- Gli script della shell richiedono che l'agente di gestione di Microsoft Intune sia installato correttamente nel dispositivo macOS. Per ulteriori informazioni, vedere Agente di gestione di Microsoft Intune per macOS.
- Gli script della shell vengono eseguiti in parallelo sui dispositivi come processi separati.
- Gli script della shell eseguiti come utente connesso vengono eseguiti per tutti gli account utente attualmente connessi nel dispositivo al momento dell'esecuzione.
- Un utente finale deve accedere al dispositivo per eseguire script in esecuzione come utente connesso.
- I privilegi di utente root sono necessari se lo script deve apportare modifiche che un account utente standard non può apportare.
- Gli script della shell tentano di essere eseguiti più frequentemente della frequenza di script scelta per determinate condizioni, ad esempio se il disco è pieno, se la posizione di archiviazione viene manomessa, se la cache locale viene eliminata o se il dispositivo Mac si riavvia.
- Gli script della shell che vengono eseguiti per più di 60 minuti vengono arrestati e segnalati come non riusciti.
Creare e assegnare un criterio di script della shell
Accedere all'Interfaccia di amministrazione di Microsoft Intune.
Seleziona dispositivi>per piattaforma>macOS>Gestisci dispositivi>Script>Add.
In Informazioni di base immettere le proprietà seguenti e selezionare Avanti:
- Name: immettere un nome per lo script della shell.
- Descrizione: immettere una descrizione per lo script della shell. È consigliabile usare questa impostazione facoltativa.
In Impostazioni script immettere le proprietà seguenti e selezionare Avanti:
- Carica script: passare allo script della shell. Le dimensioni del file script devono essere inferiori a 1 MB.
- Esegui script come utente connesso: selezionare Sì per eseguire lo script con le credenziali dell'utente nel dispositivo. Scegliere No (impostazione predefinita) per eseguire lo script come utente root.
- Nascondi le notifiche degli script nei dispositivi: Per impostazione predefinita, le notifiche agli script vengono visualizzate per ogni script eseguito. Gli utenti finali visualizzano una notifica IT che sta configurando il computer da Intune nei dispositivi macOS.
- Frequenza degli script: Selezionare la frequenza con cui eseguire lo script. Scegliere Non configurato (impostazione predefinita) per eseguire uno script una sola volta. Gli script con una frequenza impostata vengono eseguiti anche dopo il riavvio di un dispositivo.
- Numero massimo di tentativi se lo script non riesce: Selezionare il numero di esecuzioni dello script se restituisce un codice di uscita diverso da zero (zero significa successo). Scegliere Non configurato (impostazione predefinita) per non riprovare quando uno script non riesce.
In Tag di ambito, facoltativamente aggiungere tag di ambito per lo script e selezionare Avanti. Usare i tag degli ambiti per determinare chi può visualizzare gli script in Intune. Per altre informazioni, vedere Usare il controllo di accesso basato sui ruoli e i tag degli ambiti per l'IT distribuito.
Selezionare le attività Selezionare i>gruppi da includere. Viene visualizzato un elenco esistente di gruppi di Microsoft Entra. Selezionare uno o più gruppi di utenti o dispositivi per ricevere lo script. Scegliere Seleziona. I gruppi scelti vengono visualizzati nell'elenco. Ricevono i criteri degli script.
Nota
Gli script della shell assegnati ai gruppi di utenti si applicano a tutti gli utenti che accedono al Mac. L'aggiornamento delle assegnazioni per gli script della shell aggiorna anche le assegnazioni per l'agente MDM di Microsoft Intune per macOS.
In Rivedi + Aggiungi viene visualizzato un riepilogo delle impostazioni configurate. Selezionare Aggiungi per salvare lo script. Quando si seleziona Aggiungi, il criterio script viene distribuito ai gruppi scelti.
Lo script creato ora viene visualizzato nell'elenco degli script. Se necessario, è possibile visualizzare il contenuto degli script della shell macOS dopo averli caricati in Intune.
Monitorare un criterio di script della shell
Puoi monitorare lo stato di esecuzione di tutti gli script assegnati per utenti e dispositivi scegliendo uno dei report seguenti:
- Script>Selezionare lo script da monitorare>Stato del dispositivo
- Script>Selezionare lo script da monitorare>Stato dell'utente
Importante
Indipendentemente dalla frequenza di script selezionata, lo stato di esecuzione degli script viene segnalato solo quando lo stato cambia rispetto all'ultimo report. Ad esempio, se uno script segnala un errore in un'esecuzione e un errore in quella successiva, Intune aggiorna sia lo stato che il timestamp dell'ultimo aggiornamento con le informazioni sull'esecuzione corrente. Se lo stato dello script non cambia tra le sincronizzazioni, Intune aggiorna il timestamp dell'ultimo aggiornamento ogni sette giorni dall'esecuzione iniziale.
Quando uno script viene eseguito, restituisce uno degli stati seguenti:
- Se lo stato di esecuzione dello script non è riuscito, lo script ha restituito un codice di uscita diverso da zero o lo script non è corretto.
- Uno stato di esecuzione dello script Success indica che lo script ha restituito zero come codice di uscita.
Risolvere i problemi relativi ai criteri degli script della shell macOS usando la raccolta di log
Puoi raccogliere i log del dispositivo per aiutarti a risolvere i problemi relativi agli script nei dispositivi macOS.
Requisiti per la raccolta dei log
Per raccogliere i log in un dispositivo macOS, è necessario fornire le informazioni seguenti:
- Percorso completo del file di log assoluto.
- Percorsi di file separati solo da un punto e virgola (;).
- Dimensioni massime della raccolta di log di 60 MB (compressi) o 25 file, a seconda dell'evento che si verifica per primo.
- I tipi di file consentiti per la raccolta di log includono le estensioni seguenti: .log, .zip, .gz, .tar, .txt, .xml, .crash, .rtf.
Raccogliere i log del dispositivo
Accedere all'Interfaccia di amministrazione di Microsoft Intune.
Passare a : Dispositivi,>Gestire dispositivi>, Script e correzioni Script>della piattaforma e selezionare uno script della shell macOS.
In Stato dispositivo o Report stato utente selezionare un dispositivo.
Selezionare Raccogli registri e immettere i percorsi delle cartelle dei file di registro separati solo da un punto e virgola (;) senza spazi o nuove righe tra i percorsi.
Ad esempio, scrivere più percorsi come
/Path/to/logfile1.zip;/Path/to/logfile2.log.Importante
L'uso di virgole, punti, nuove righe o virgolette con o senza spazi per separare più percorsi di file di log causa un errore nella raccolta di log. Non usare spazi come separatori tra i percorsi.
Selezionare OK. L'agente di gestione di Intune nel dispositivo raccoglie i log al successivo check-in con Intune. Questo check-in avviene di solito ogni 8 ore.
Nota
- Il dispositivo crittografa i log raccolti, li trasmette e li archivia nell'archiviazione di Microsoft Azure per 30 giorni. L'interfaccia di amministrazione di Microsoft Intune decrittografa e scarica i log archiviati su richiesta.
- Oltre ai log specificati dall'amministratore, l'agente di gestione di Intune raccoglie anche i log da queste cartelle:
/Library/Logs/Microsoft/Intunee~/Library/Logs/Microsoft/Intune. I nomi dei file di registro dell'agente sonoIntuneMDMDaemon date--time.logeIntuneMDMAgent date--time.log. - Se un file specificato dall'amministratore manca o ha un'estensione errata, trova i nomi di file seguenti elencati in
LogCollectionInfo.txt.
Errori della raccolta log
La raccolta dei log potrebbe non riuscire a causa di uno dei motivi seguenti. Per risolvere questi errori, seguire i passaggi di correzione.
| Codice di errore (esadecimale) | Codice di errore (dec) | Messaggio di errore | Passaggi di correzione |
|---|---|---|---|
| 0X87D300D1 | 2016214834 | Le dimensioni del file di log non possono superare i 60 MB. | Assicurati che i log compressi siano inferiori a 60 MB. |
| 0X87D300D1 | 2016214831 | Il percorso del file di log specificato deve esistere. La cartella utente di sistema è un percorso non valido per i file di log. | Verificare che il percorso del file fornito sia valido e accessibile. |
| 0X87D300D2 | 2016214830 | Caricamento del file della raccolta di log non riuscito a causa della scadenza dell'URL di caricamento. | Riprovare l'azione Raccogli log . |
| 0X87D300D3, 0X87D300D5 0X87D300D7 | 2016214829, 2016214827, 2016214825 | Caricamento del file della raccolta di log non riuscito a causa di un errore di crittografia. Riprova a caricare il log. | Riprovare l'azione Raccogli log . |
| 2016214828 | Il numero di file di log ha superato il limite consentito di 25 file. | È possibile raccogliere solo fino a 25 file di log alla volta. | |
| 0X87D300D6 | 2016214826 | Caricamento del file della raccolta di log non riuscito a causa di un errore di compressione. Riprova a caricare il log. | Riprovare l'azione Raccogli log . |
| 2016214740 | Non è stato possibile crittografare i log perché non sono stati trovati log compressi. | Riprovare l'azione Raccogli log . | |
| 2016214739 | I registri venivano raccolti ma non potevano essere archiviati. | Riprovare l'azione Raccogli log . |
Attributi personalizzati per macOS
È possibile creare profili di attributo personalizzati che consentono di raccogliere proprietà personalizzate dai dispositivi macOS gestiti usando script della shell.
Creare e assegnare un attributo personalizzato per i dispositivi macOS
Accedere all'Interfaccia di amministrazione di Microsoft Intune.
Seleziona i dispositivi>per piattaforma>macOS>Organizza i dispositivi>Attributi personalizzati per macOS>Add.
In Informazioni di base immettere le proprietà seguenti e selezionare Avanti:
- Nome: immettere un nome per lo script.
- Descrizione: immettere una descrizione per lo script. Questa impostazione è facoltativa ma consigliata.
In Impostazioni attributi immettere le proprietà seguenti e selezionare Avanti:
- Tipo di dati dell'attributo: selezionare il tipo di dati del risultato restituito dallo script. I valori disponibili sono stringa, numero intero e data.
- Script: seleziona un file di script.
Dettagli aggiuntivi:
- Lo script della shell deve fare eco all'attributo da segnalare e il tipo di dati dell'output deve corrispondere al tipo di dati dell'attributo nel profilo dell'attributo personalizzato.
- Il risultato restituito dallo script della shell deve essere inferiore o uguale a 20 KB.
Nota
Quando si utilizzano
Dategli attributi type, assicurarsi che lo script della shell restituisca le date nel formato ISO-8601. Vedere gli esempi seguenti.Per stampare una data conforme alla norma ISO-8601 con il fuso orario:
#!/bin/sh var=$(date +"%Y-%m-%dT%H:%M:%S%z") echo $var # Prints an ISO-8601 compliant date with time-zonePer stampare una data conforme allo standard ISO-8601 nell'ora UTC:
#!/bin/sh var=$(date -u +"%Y-%m-%dT%H:%M:%SZ") echo $var # Prints an ISO-8601 compliant date in UTC timeIn Attività selezionare Seleziona gruppi da includere. Quando si sceglie Seleziona gruppi da includere, viene visualizzato un elenco esistente di gruppi di Microsoft Entra. Selezionare uno o più gruppi di utenti o dispositivi per ricevere lo script. Scegliere Seleziona. I gruppi scelti vengono visualizzati nell'elenco. Ricevono i criteri degli script.
In alternativa, puoi scegliere di selezionare Tutti gli utenti, Tutti i dispositivi o Tutti gli utenti e tutti i dispositivi selezionando una di queste opzioni nella casella a discesa accanto ad Assegna a.
Nota
Gli script assegnati ai gruppi di utenti si applicano a tutti gli utenti che accedono al Mac.
In Rivedi + Aggiungi viene visualizzato un riepilogo delle impostazioni configurate. Selezionare Aggiungi per salvare lo script. Quando si seleziona Aggiungi, il criterio script viene distribuito ai gruppi scelti.
Lo script creato viene ora visualizzato nell'elenco degli attributi personalizzati. Visualizzare il contenuto degli attributi personalizzati dopo averli caricati in Intune.
Monitorare un criterio di attributo personalizzato
È possibile monitorare lo stato di esecuzione di tutti i profili di attributo personalizzati assegnati per utenti e dispositivi scegliendo uno dei report seguenti:
- Attributi> personalizzatiSelezionare il profilo dell'attributo personalizzato da monitorare>Stato del dispositivo
- Attributi> personalizzatiSelezionare il profilo dell'attributo personalizzato da monitorare>Stato dell'utente
Importante
Gli script della shell forniti nei profili degli attributi personalizzati vengono eseguiti ogni 8 ore sui Mac gestiti e ne segnalano lo stato.
Quando viene eseguito un profilo di attributo personalizzato, restituisce uno degli stati seguenti:
- Lo stato Non riuscito indica che lo script ha restituito un codice di uscita diverso da zero o che lo script non è corretto. L'errore viene segnalato nella colonna Risultato .
- Lo stato Operazione completata indica che lo script ha restituito zero come codice di uscita. L'output ripreso dallo script viene riportato nella colonna Risultato .
Domande frequenti
Perché gli script della shell assegnati non sono in esecuzione sul dispositivo?
Questo problema potrebbe essere causato da diversi motivi:
- L'agente potrebbe dover effettuare il check-in per ricevere script nuovi o aggiornati. Questo processo di archiviazione viene eseguito ogni 8 ore ed è diverso dal controllo MDM. Assicurarsi che il dispositivo sia attivo e connesso a una rete per consentire l'esecuzione del check-in dell'agente e attendere che l'agente esegua il check-in. È anche possibile richiedere all'utente finale di aprire il Portale aziendale nel Mac, selezionare il dispositivo e selezionare Controlla impostazioni.
- L'agente potrebbe non essere installato. Verificare che l'agente sia installato nel
/Library/Intune/Microsoft Intune Agent.appdispositivo macOS. - L'agente potrebbe non essere in uno stato sano. L'agente tenta di eseguire il ripristino per 24 ore, rimuoversi ed eseguire nuovamente la reinstallazione se gli script della shell sono ancora assegnati.
Con quale frequenza viene segnalato lo stato di esecuzione degli script?
Lo stato di esecuzione dello script viene segnalato all'interfaccia di amministrazione di Microsoft Intune non appena viene completata l'esecuzione dello script. Se uno script è pianificato per essere eseguito periodicamente a una frequenza impostata, segnala lo stato solo la prima volta che viene eseguito.
Quando vengono eseguiti di nuovo gli script della shell?
Quando uno script restituisce un codice di uscita diverso da zero, Intune lo riprova in base all'impostazione Numero massimo di tentativi se lo script non riesce. Se l'impostazione non è configurata, Intune non ripete l'esecuzione non riuscita e segnala il suo stato come non riuscito. Gli script con una frequenza configurata possono anche essere eseguiti di nuovo in pianificazione o dopo il riavvio di un dispositivo.
Quali autorizzazioni del ruolo di Intune sono necessarie per gli script della shell?
Il ruolo di Intune assegnato richiede le autorizzazioni di configurazione del dispositivo per eliminare, assegnare, creare, aggiornare o leggere gli script della shell.
Problemi noti
- Stato nessuna esecuzione dello script: Se il dispositivo riceve uno script ma passa offline prima di segnalare lo stato di esecuzione, il dispositivo non segnala lo stato di esecuzione per lo script nell'interfaccia di amministrazione.
Informazioni aggiuntive
Quando si distribuiscono script di shell o attributi personalizzati per i dispositivi macOS da Microsoft Intune, si distribuisce la nuova versione universale dell'applicazione agente di gestione Intune che viene eseguita in modo nativo sui computer Mac Apple Silicon. La stessa distribuzione installa la versione x64 dell'app nei computer Intel Mac.
È necessario Rosetta 2 per eseguire la versione x64 (Intel) delle app sui Mac Apple Silicon. Per installare automaticamente Rosetta 2 sui Mac Apple Silicon, è possibile distribuire uno script della shell in Intune. Per visualizzare uno script di esempio, vedere Script di installazione di Rosetta 2.