Share via


Shell-scripts gebruiken op macOS-apparaten in Intune

Gebruik shellscripts om de mogelijkheden voor apparaatbeheer in Intune uit te breiden, naast wat wordt ondersteund door het macOS-besturingssysteem.

Opmerking

Rosetta 2 is vereist voor het uitvoeren van x64-versies (Intel) van apps op Apple Silicon Macs. Als u Rosetta 2 automatisch wilt installeren op Apple Silicon Macs, kunt u een shell-script implementeren in Intune. Zie Rosetta 2 Installation Script als u een voorbeeldscript wilt bekijken.

Vereisten

Zorg ervoor dat aan de volgende vereisten wordt voldaan bij het opstellen van shell-scripts en het toewijzen ervan aan macOS-apparaten.

  • Op apparaten wordt macOS 12.0 of hoger uitgevoerd.
  • Apparaten worden beheerd door Intune.
  • Apparaten zijn rechtstreeks verbonden met internet. Verbinding via een proxy wordt niet ondersteund.
  • Shell-scripts beginnen met #! en moeten zich op een geldige locatie bevinden, zoals #!/bin/sh of #!/usr/bin/env zsh.
  • Er zijn opdrachtregelinterpreters voor de toepasselijke shells geïnstalleerd.

Belangrijke overwegingen voordat u shell-scripts gebruikt

  • Shell-scripts vereisen dat de Microsoft Intune-beheeragent is geïnstalleerd op het macOS-apparaat. Zie Microsoft Intune-beheeragent voor macOS voor meer informatie.
  • Shell-scripts worden parallel uitgevoerd op apparaten als afzonderlijke processen.
  • Shell-scripts die worden uitgevoerd als de aangemelde gebruiker, worden uitgevoerd voor alle momenteel aangemelde gebruikersaccounts op het apparaat op het moment van de uitvoering.
  • Een eindgebruiker moet zich aanmelden bij het apparaat om scripts uit te voeren die worden uitgevoerd als een aangemelde gebruiker.
  • Basisgebruikersbevoegdheden zijn vereist als het script wijzigingen vereist die een standaardgebruikersaccount niet kan aanbrengen.
  • Shell-scripts proberen vaker dan de gekozen scriptfrequentie uit te voeren voor bepaalde voorwaarden, zoals als de schijf vol is, als er met de opslaglocatie is geknoeid, als de lokale cache wordt verwijderd of als het Mac-apparaat opnieuw wordt opgestart.
  • Shell-scripts die langer dan 60 minuten worden uitgevoerd, worden gestopt en gerapporteerd als 'mislukt'.

Een shellscriptbeleid maken en toewijzen

  1. Meld je aan bij het Microsoft Intune-beheercentrum.

  2. Selecteer Apparaten>Op platform>macOS>Apparaten> beherenScripts>Toevoegen.

  3. Voer in Basis de volgende eigenschappen in en selecteer Volgende:

    • Naam: voer een naam in voor het shellscript.
    • Beschrijving: voer een beschrijving in voor het shellscript. Deze instelling is optioneel, maar wordt aanbevolen.
  4. Voer in Scriptinstellingen de volgende eigenschappen in en selecteer Volgende:

    • Script uploaden: blader naar het shellscript. Het scriptbestand moet kleiner zijn dan 200 kB.
    • Script uitvoeren als aangemelde gebruiker: selecteer Ja om het script uit te voeren met de referenties van de gebruiker op het apparaat. Kies Nee (standaard) om het script uit te voeren als de hoofdgebruiker.
    • Scriptmeldingen op apparaten verbergen: Standaard worden scriptmeldingen weergegeven voor elk script dat wordt uitgevoerd. Eindgebruikers zien een melding dat IT uw computer configureert vanuit Intune op macOS-apparaten.
    • Scriptfrequentie: Selecteer hoe vaak het script moet worden uitgevoerd. Kies Niet geconfigureerd (standaard) om een script slechts één keer uit te voeren. Scripts met een frequentieset worden ook uitgevoerd nadat het apparaat opnieuw is opgestart.
    • Maximum aantal keren dat opnieuw moet worden geprobeerd als het script mislukt: Selecteer hoe vaak het script moet worden uitgevoerd als het een niet-nul afsluitcode retourneert (nul betekent geslaagd). Kies Niet geconfigureerd (standaard) om niet opnieuw te proberen wanneer een script mislukt.
  5. Voeg in Bereiktags optioneel bereiktags toe voor het script en selecteer Volgende. U kunt bereiktags gebruiken om te bepalen wie scripts in Intune kan zien. Zie Op rollen gebaseerd toegangsbeheer en bereiktags gebruiken voor gedistribueerde IT voor meer informatie over bereiktags.

  6. Selecteer Toewijzingen>Selecteer groepen die u wilt opnemen. Er wordt een bestaande lijst met Microsoft Entra-groepen weergegeven. Selecteer een of meer gebruikers- of apparaatgroepen die het script moeten ontvangen. Kies Selecteren. De groepen die u kiest, worden weergegeven in de lijst en ontvangen uw scriptbeleid.

    Opmerking

    • Shell-scripts die zijn toegewezen aan gebruikersgroepen, zijn van toepassing op elke gebruiker die zich aanmeldt bij de Mac.
    • Bij het bijwerken van toewijzingen voor shellscripts worden ook toewijzingen voor Microsoft Intune MDM Agent voor macOS bijgewerkt.
  7. In Controleren en toevoegen wordt een overzicht weergegeven van de instellingen die u hebt geconfigureerd. Selecteer Toevoegen om het script op te slaan. Wanneer u Toevoegen selecteert, wordt het scriptbeleid geïmplementeerd voor de groepen die u hebt gekozen.

Het script dat u hebt gemaakt, wordt nu weergegeven in de lijst met scripts. Indien nodig kunt u de inhoud van macOS-shellscripts bekijken nadat u deze naar Intune hebt geüpload.

Beleid voor shellscripts bewaken

U kunt de uitvoeringsstatus van alle toegewezen scripts voor gebruikers en apparaten controleren door een van de volgende rapporten te kiezen:

  • Scripts>selecteer het script dat u wilt bewaken>Apparaatstatus
  • Scripts>selecteer het script dat u wilt bewaken>Gebruikersstatus

Belangrijk

Ongeacht de geselecteerde scriptfrequentie wordt de uitvoeringsstatus van het script alleen gerapporteerd wanneer een script voor het eerst wordt uitgevoerd. De uitvoeringsstatus van het script wordt niet bijgewerkt bij volgende uitvoeringen. Bijgewerkte scripts worden echter behandeld als nieuwe scripts en rapporteren de uitvoeringsstatus opnieuw.

Zodra een script wordt uitgevoerd, wordt een van de volgende statussen geretourneerd:

  • Een scriptuitvoeringsstatus Mislukt geeft aan dat het script een niet-nul afsluitcode heeft geretourneerd of dat het script onjuist is ingedeeld.
  • De uitvoeringsstatus van een script geeft aan dat het script nul als afsluitcode heeft geretourneerd.

Problemen met macOS Shell-scriptbeleid oplossen met logboekverzameling

U kunt apparaatlogboeken verzamelen om scriptproblemen op macOS-apparaten op te lossen.

Vereisten voor logboekverzameling

De volgende items zijn vereist voor het verzamelen van logboeken op een macOS-apparaat:

  • U moet het volledige pad naar het absolute logboekbestand opgeven.
  • Bestandspaden moeten worden gescheiden met behulp van alleen een puntkomma (;).
  • De maximale grootte van de logboekverzameling om te uploaden is 60 MB (gecomprimeerd) of 25 bestanden, afhankelijk van wat zich het eerst voordoet.
  • Bestandstypen die zijn toegestaan voor logboekverzameling omvatten de volgende extensies: .log, .zip, .gz, .tar, .txt, .xml, .crash, .rtf

Apparaatlogboeken verzamelen

  1. Meld je aan bij het Microsoft Intune-beheercentrum.

  2. Navigeer naar Apparaten>Apparaten beheren>Scripts en herstelplatformscripts> en selecteer een macOS-shellscript.

  3. Selecteer een apparaat in Apparaatstatus of Gebruikersstatusrapport .

  4. Selecteer Logboeken verzamelen, geef mappaden op van logboekbestanden die alleen worden gescheiden door een puntkomma (;) zonder spaties of nieuwe regels tussen paden.
    Meerdere paden moeten bijvoorbeeld worden geschreven als /Path/to/logfile1.zip;/Path/to/logfile2.log.

    Belangrijk

    Meerdere paden voor logboekbestanden, gescheiden met komma's, punt, nieuwe regel of aanhalingstekens met of zonder spaties, leiden tot een fout bij het verzamelen van logboeken. Spaties zijn ook niet toegestaan als scheidingsteken tussen paden.

  5. Selecteer OK. Logboeken worden verzameld wanneer de Intune-beheeragent op het apparaat de volgende keer bij Intune incheckt. Deze check-in vindt meestal elke 8 uur plaats.

    Opmerking

    • Verzamelde logboeken worden versleuteld op het apparaat, verzonden en gedurende 30 dagen opgeslagen in Microsoft Azure Storage. Opgeslagen logboeken worden op aanvraag ontsleuteld en gedownload via het Microsoft Intune-beheercentrum.
    • Naast de door de beheerder opgegeven logboeken worden de intune-beheeragentlogboeken ook verzameld uit deze mappen: /Library/Logs/Microsoft/Intune en ~/Library/Logs/Microsoft/Intune. De namen van de logboekbestanden van de agent zijn IntuneMDMDaemon date--time.log en IntuneMDMAgent date--time.log.
    • Als een door de beheerder opgegeven bestand ontbreekt of de verkeerde bestandsextensie heeft, vindt u deze bestandsnamen in LogCollectionInfo.txt.

Fouten bij het verzamelen van logboeken

Het verzamelen van logboeken is mogelijk niet geslaagd vanwege een van de volgende redenen in de onderstaande tabel. Volg de herstelstappen om deze fouten op te lossen.

Foutcode (hex) Foutcode (dec) Foutbericht Herstelstappen
0X87D300D1 2016214834 De grootte van het logboekbestand mag niet groter zijn dan 60 MB. Zorg ervoor dat gecomprimeerde logboeken kleiner zijn dan 60 MB.
0X87D300D1 2016214831 Het opgegeven pad naar het logboekbestand moet bestaan. De gebruikersmap van het systeem is een ongeldige locatie voor logboekbestanden. Zorg ervoor dat het opgegeven bestandspad geldig en toegankelijk is.
0X87D300D2 2016214830 Het uploaden van het bestand voor logboekverzameling is mislukt vanwege het verlopen van de upload-URL. Voer de actie Logboeken verzamelen opnieuw uit.
0X87D300D3, 0X87D300D5, 0X87D300D7 2016214829, 2016214827, 2016214825 Uploaden van bestand voor logboekverzameling is mislukt vanwege een versleutelingsfout. Opnieuw uploaden van logboek. Voer de actie Logboeken verzamelen opnieuw uit.
2016214828 Het aantal logboekbestanden heeft de toegestane limiet van 25 bestanden overschreden. Er kunnen maximaal 25 logboekbestanden tegelijk worden verzameld.
0X87D300D6 2016214826 Uploaden van bestand voor logboekverzameling is mislukt vanwege een zip-fout. Opnieuw uploaden van logboek. Voer de actie Logboeken verzamelen opnieuw uit.
2016214740 De logboeken kunnen niet worden versleuteld omdat gecomprimeerde logboeken niet zijn gevonden. Voer de actie Logboeken verzamelen opnieuw uit.
2016214739 De logboeken zijn verzameld, maar kunnen niet worden opgeslagen. Voer de actie Logboeken verzamelen opnieuw uit.

Aangepaste kenmerken voor macOS

U kunt aangepaste kenmerkprofielen maken waarmee u aangepaste eigenschappen van beheerde macOS-apparaten kunt verzamelen met behulp van shell-scripts.

Een aangepast kenmerk voor macOS-apparaten maken en toewijzen

  1. Meld je aan bij het Microsoft Intune-beheercentrum.

  2. Selecteer Apparaten>Op platform>macOS>Apparaten organiseren>Aangepaste kenmerken voor macOS>Toevoegen.

  3. Voer in Basis de volgende eigenschappen in en selecteer Volgende:

    • Naam: voer een naam in voor het script.
    • Beschrijving: voer een beschrijving in voor het script. Deze instelling is optioneel, maar wordt aanbevolen.
  4. Voer in Kenmerkinstellingen de volgende eigenschappen in en selecteer Volgende:

    • Gegevenstype van kenmerk: selecteer het gegevenstype van het resultaat dat het script retourneert. Beschikbare waarden zijn Tekenreeks, Geheel getal en Datum.
    • Script: selecteer een scriptbestand.

    Aanvullende informatie:

    • Het shellscript moet het kenmerk herhalen dat moet worden gerapporteerd en het gegevenstype van de uitvoer moet overeenkomen met het gegevenstype van het kenmerk in het aangepaste kenmerkprofiel.
    • Het resultaat dat door het shellscript wordt geretourneerd, moet 20 KB of minder zijn.

    Opmerking

    Wanneer u typekenmerken gebruikt Date , moet u ervoor zorgen dat het shell-script datums retourneert in ISO-8601-indeling. Zie de onderstaande voorbeelden.

    Een iso-8601-compatibele datum afdrukken met tijdzone:

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

    Een ISO-8601-compatibele datum in UTC-tijd afdrukken:

    #!/bin/sh
    var=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
    echo $var # Prints an ISO-8601 compliant date in UTC time
    
  5. Klik in Toewijzingen op Groepen selecteren om op te nemen. Wanneer u Groepen selecteren kiest om een bestaande lijst met Microsoft Entra-groepen op te nemen, wordt weergegeven. Selecteer een of meer gebruikers- of apparaatgroepen die het script moeten ontvangen. Kies Selecteren. De groepen die u kiest, worden weergegeven in de lijst en ontvangen uw scriptbeleid. U kunt er ook voor kiezen om Alle gebruikers, Alle apparaten of Alle gebruikers en alle apparaten te selecteren door een van deze opties te selecteren in de vervolgkeuzelijst naast Toewijzen aan.

    Opmerking

    • Scripts die zijn toegewezen aan gebruikersgroepen, zijn van toepassing op elke gebruiker die zich aanmeldt bij de Mac.
  6. In Controleren en toevoegen wordt een overzicht weergegeven van de instellingen die u hebt geconfigureerd. Selecteer Toevoegen om het script op te slaan. Wanneer u Toevoegen selecteert, wordt het scriptbeleid geïmplementeerd voor de groepen die u hebt gekozen.

Het script dat u hebt gemaakt, wordt nu weergegeven in de lijst met aangepaste kenmerken. Indien nodig kunt u de inhoud van aangepaste kenmerken bekijken nadat u deze naar Intune hebt geüpload.

Een aangepast kenmerkbeleid bewaken

U kunt de uitvoeringsstatus van alle toegewezen aangepaste kenmerkprofielen voor gebruikers en apparaten controleren door een van de volgende rapporten te kiezen:

  • Aangepaste kenmerken>selecteer het aangepaste kenmerkprofiel dat u wilt bewaken>Apparaatstatus
  • Aangepaste kenmerken>selecteer het aangepaste kenmerkprofiel dat u wilt bewaken>Gebruikersstatus

Belangrijk

Shell-scripts in aangepaste kenmerkprofielen worden elke 8 uur uitgevoerd op beheerde Macs en gerapporteerd.

Zodra een aangepast kenmerkprofiel wordt uitgevoerd, wordt een van de volgende statussen geretourneerd:

  • De status Mislukt geeft aan dat het script een niet-nul afsluitcode heeft geretourneerd of dat het script onjuist is ingedeeld. De fout wordt gerapporteerd in de kolom Resultaat .
  • De status Geslaagd geeft aan dat het script nul als afsluitcode heeft geretourneerd. De uitvoer die door het script wordt herhaald, wordt gerapporteerd in de kolom Resultaat .

Veelgestelde vragen

Waarom worden toegewezen shellscripts niet uitgevoerd op het apparaat?

Er kunnen verschillende redenen zijn:

  • De agent moet mogelijk inchecken om nieuwe of bijgewerkte scripts te ontvangen. Dit incheckproces vindt elke 8 uur plaats en verschilt van de MDM-check-in. Zorg ervoor dat het apparaat is ingeschakeld en is verbonden met een netwerk voor een geslaagde agent inchecken en wacht tot de agent is ingecheckt. U kunt de eindgebruiker ook vragen de bedrijfsportal op de Mac te openen, het apparaat te selecteren en op Instellingen controleren te klikken.
  • De agent is mogelijk niet geïnstalleerd. Controleer of de agent is geïnstalleerd op /Library/Intune/Microsoft Intune Agent.app het macOS-apparaat.
  • De agent is mogelijk niet in orde. De agent probeert 24 uur lang te herstellen, zichzelf te verwijderen en opnieuw te installeren als er nog steeds shellscripts zijn toegewezen.

Hoe vaak wordt de uitvoeringsstatus van het script gerapporteerd?

De uitvoeringsstatus van het script wordt gerapporteerd aan het Microsoft Intune-beheercentrum zodra de scriptuitvoering is voltooid. Als een script periodiek met een ingestelde frequentie moet worden uitgevoerd, wordt alleen de status gerapporteerd wanneer het voor het eerst wordt uitgevoerd.

Wanneer worden shell-scripts opnieuw uitgevoerd?

Een script wordt alleen opnieuw uitgevoerd wanneer de instelling Maximum aantal keren dat opnieuw moet worden geprobeerd als het script mislukt , is geconfigureerd en het script mislukt bij uitvoering. Als het maximum aantal keren dat opnieuw moet worden geprobeerd als het script mislukt , niet is geconfigureerd en een script mislukt bij uitvoering, wordt het niet opnieuw uitgevoerd en wordt de uitvoeringsstatus gerapporteerd als mislukt.

Welke Intune-rolmachtigingen zijn vereist voor shell-scripts?

Voor uw rol toegewezen Intune zijn apparaatconfiguratiemachtigingen vereist voor het verwijderen, toewijzen, maken, bijwerken of lezen van shellscripts.

Bekende problemen

  • Geen scriptuitvoeringsstatus: In het onwaarschijnlijke geval dat een script op het apparaat wordt ontvangen en het apparaat offline gaat voordat de uitvoeringsstatus wordt gerapporteerd, rapporteert het apparaat de uitvoeringsstatus voor het script niet in het beheercentrum.

Aanvullende informatie

Wanneer u shellscripts of aangepaste kenmerken implementeert voor macOS-apparaten vanuit Microsoft Intune, wordt de nieuwe universele versie van de Intune-beheeragent-app geïmplementeerd die systeemeigen wordt uitgevoerd op Apple Silicon Mac-computers. Met dezelfde implementatie wordt de x64-versie van de app geïnstalleerd op Intel Mac-computers. Rosetta 2 is vereist voor het uitvoeren van x64-versies (Intel) van apps op Apple Silicon Macs. Als u Rosetta 2 automatisch wilt installeren op Apple Silicon Macs, kunt u een shell-script implementeren in Intune. Zie Rosetta 2 Installation Script als u een voorbeeldscript wilt bekijken.

Volgende stappen