Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Gebruik shellscripts om de mogelijkheden voor apparaatbeheer in Intune uit te breiden tot meer mogelijkheden dan wordt ondersteund door het macOS-besturingssysteem.
Opmerking
Rosetta 2 is vereist om de x64-versie (Intel) van apps op Apple Silicon Macs uit te voeren. Als u Rosetta 2 automatisch wilt installeren op Apple Silicon Macs, kunt u een shellscript implementeren in Intune. Om een voorbeeldscript te bekijken, zie Rosetta 2 Installation Script.
Vereisten
Zorg ervoor dat aan de volgende vereisten wordt voldaan bij het samenstellen van shellscripts en het toewijzen ervan aan macOS-apparaten.
- Op apparaten wordt macOS 12.0 of hoger uitgevoerd.
- Apparaten worden beheerd door Intune.
- De 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/shof#!/usr/bin/env zsh. - Opdrachtregelinterpreters voor de betreffende shells zijn geïnstalleerd.
Belangrijke overwegingen voordat u shellscripts gebruikt
- Voor shellscripts moet de Microsoft Intune-beheeragent zijn geïnstalleerd op het macOS-apparaat. Zie voor meer informatie de beheeragent van Microsoft Intune voor macOS.
- Shell-scripts worden op apparaten parallel uitgevoerd 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 uitvoering.
- Een eindgebruiker moet zich aanmelden bij het apparaat om scripts uit te voeren die worden uitgevoerd als een aangemelde gebruiker.
- Machtigingen voor hoofdgebruikers zijn vereist als voor het script wijzigingen moeten worden aangebracht die niet mogelijk zijn in een standaardgebruikersaccount.
- Shell-scripts proberen onder bepaalde omstandigheden vaker uit te voeren dan de gekozen scriptfrequentie, bijvoorbeeld als de schijf vol is, als er met de opslaglocatie wordt 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 als 'mislukt' gerapporteerd.
Een beleid voor shell-scripts maken en toewijzen
Meld je aan bij het Microsoft Intune-beheercentrum.
Apparaten>per platform> selecterenmacOS>Apparaten> beherenScripts>toevoegen.
Voer in Basisprincipes 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.
Voer bij Scriptinstellingen de volgende eigenschappen in en selecteer Volgende:
- Script uploaden: Blader naar het shellscript. Het scriptbestand mag maximaal 1 MB groot zijn.
- Script uitvoeren als aangemelde gebruiker: selecteer Ja om het script met de inloggegevens van de gebruiker uit te voeren op het apparaat. Kies Nee (standaard) om het script als de hoofdgebruiker uit te voeren.
- Scriptmeldingen op apparaten verbergen: Standaard worden scriptmeldingen weergegeven voor elk script dat wordt uitgevoerd. Eindgebruikers zien een melding van IT configureert uw computer vanuit Intune op macOS-apparaten.
- Frequentie van scripts: Selecteer hoe vaak het script moet worden uitgevoerd. Kies Niet geconfigureerd (standaard) om een script slechts eenmaal uit te voeren. Scripts met een ingestelde frequentie worden ook uitgevoerd nadat het apparaat opnieuw is opgestart.
- Het maximumaantal keren dat je het opnieuw moet proberen als het script niet lukt: Selecteer hoe vaak het script moet worden uitgevoerd als het een andere afsluitcode dan nul retourneert (nul betekent succes). Kies Niet geconfigureerd (standaard) om het niet opnieuw te proberen wanneer een script mislukt.
Voeg in Bereiktags desgewenst bereiktags voor het script toe en selecteer Volgende. U kunt bereiktags gebruiken om te bepalen wie scripts in Intune mag zien. Zie Toegangsbeheer op basis van rollen en bereiktags voor gedistribueerde IT gebruiken voor meer informatie over bereiktags.
Opdrachten> selecterenSelecteer 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 in de lijst weergegeven en ontvangen uw scriptbeleid.
Opmerking
- Shell-scripts die zijn toegewezen aan gebruikersgroepen zijn van toepassing op elke gebruiker die zich aanmeldt bij de Mac.
- Als u opdrachten voor shellscripts bijwerkt, worden ook toewijzingen voor Microsoft Intune MDM Agent voor macOS bijgewerkt.
In Controleren + 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 bekijken van macOS-shellscripts nadat u ze hebt geüpload naar Intune.
Een shellscriptbeleid 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 status van scriptuitvoering alleen gerapporteerd wanneer de status ten opzichte van het laatste rapport verandert. Als in een script bijvoorbeeld is opgegeven dat het bij de ene uitvoering is gelukt en bij de volgende keer dat Intune het is mislukt, worden zowel de status als het tijdstempel voor de laatste update bijgewerkt met de huidige uitvoeringsgegevens. Als de scriptstatus niet tijdens synchronisaties wordt gewijzigd, werkt Intune de laatst bijgewerkte tijdstempel elke zeven dagen bij vanaf de eerste uitvoering.
Wanneer een script wordt uitgevoerd, retourneert het een van de volgende statussen:
- De scriptuitvoeringsstatus Mislukt geeft aan dat het script een andere afsluitcode dan nul heeft geretourneerd of dat het script een onjuiste notatie heeft.
- De scriptuitvoeringsstatus Geslaagd geeft aan dat het script nul retourneerde als afsluitcode.
Problemen met scriptbeleid voor macOS-shell oplossen met behulp van logboekverzameling
U kunt apparaatlogboeken verzamelen om scriptproblemen op macOS-apparaten op te lossen.
Vereisten voor het verzamelen van logboeken
De volgende items zijn vereist voor het verzamelen van logboeken op een macOS-apparaat:
- U moet het volledige absolute logbestandspad opgeven.
- Bestandspaden moeten alleen met een puntkomma (;) worden gescheiden.
- 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 zijn de volgende extensies: .log, .zip, .gz, .tar, .txt, .xml, .crash, .rtf
Apparaatlogboeken verzamelen
Meld je aan bij het Microsoft Intune-beheercentrum.
Ga naar Apparaten>Apparaten> beherenScripts en herstelbewerkingen>Platformscripts en selecteer een macOS-shellscript.
Selecteer een apparaat bij Apparaatstatus of Gebruikersstatusrapport .
Selecteer Logboeken verzamelen, geef mappaden van logboekbestanden op 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 in het logboekbestand die worden gescheiden door komma's, punten, nieuwe regels of aanhalingstekens met of zonder spaties, leiden tot een fout in het verzamelen van het logboek. Spaties zijn ook niet toegestaan als scheidingstekens tussen paden.
Selecteer OK. Er worden logboeken verzameld wanneer de Intune-beheeragent op het apparaat de volgende keer incheckt bij Intune. 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-opslag. Opgeslagen logboeken worden op verzoek ontsleuteld en gedownload via het Microsoft Intune-beheercentrum.
- Naast de door de beheerder opgegeven logboeken worden ook de logboeken van de Intune Management Agent verzameld uit deze mappen:
/Library/Logs/Microsoft/Intuneen~/Library/Logs/Microsoft/Intune. De namen van de agentlogboekbestanden zijnIntuneMDMDaemon date--time.logen .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 in de logboekverzameling
Het verzamelen van logboeken lukt mogelijk niet vanwege een van de volgende oorzaken die in de onderstaande tabel worden beschreven. Volg de herstelstappen om deze fouten op te lossen.
| Foutcode (hex) | Foutcode (dec) | Foutbericht | Stappen voor herstel |
|---|---|---|---|
| 0X87D300D1 | 2016214834 | 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 map van de systeemgebruiker is een ongeldige locatie voor logboekbestanden. | Controleer of het opgegeven bestandspad geldig en toegankelijk is. |
| 0X87D300D2 | 2016214830 | Het uploaden van het logboekbestand is mislukt vanwege het verlopen van de upload-URL. | Probeer de actie Logboeken verzamelen opnieuw. |
| 0X87D300D3, 0X87D300D5 0X87D300D7 | 2016214829, 2016214827, 2016214825 | Het uploaden van het logboekverzamelingsbestand is mislukt vanwege een coderingsfout. Probeer het logboek opnieuw te uploaden. | Probeer de actie Logboeken verzamelen opnieuw. |
| 2016214828 | Het aantal logboekbestanden heeft de toegestane limiet van 25 bestanden overschreden. | Er kunnen maximaal 25 logbestanden tegelijk worden verzameld. | |
| 0X87D300D6 | 2016214826 | Het uploaden van het logboekbestand is mislukt vanwege een zip-fout. Probeer het logboek opnieuw te uploaden. | Probeer de actie Logboeken verzamelen opnieuw. |
| 2016214740 | De logboeken konden niet worden versleuteld omdat er geen gecomprimeerde logboeken werden gevonden. | Probeer de actie Logboeken verzamelen opnieuw. | |
| 2016214739 | De logboeken werden verzameld, maar konden niet worden opgeslagen. | Probeer de actie Logboeken verzamelen opnieuw. |
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 maken en toewijzen voor macOS-apparaten
Meld je aan bij het Microsoft Intune-beheercentrum.
Apparaten>per platform>selecteren macOS>Apparaten> organiserenAangepaste kenmerken voor macOS>Add.
Voer in Basisprincipes de volgende eigenschappen in en selecteer Volgende:
- Naam: Voer een naam voor het script in.
- Beschrijving: voer een beschrijving voor het script in. Deze instelling is optioneel, maar wordt aanbevolen.
Voer bij 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 details:
- Het shellscript moet een echo zijn van het te rapporteren kenmerk en het gegevenstype van de uitvoer moet overeenkomen met het gegevenstype van het kenmerk in het aangepaste kenmerkprofiel.
- Het resultaat dat wordt geretourneerd door het shellscript moet 20 KB of minder zijn.
Opmerking
Wanneer u typekenmerken gebruikt
Date, zorg er dan voor dat het shellscript datums in ISO-8601-indeling retourneert. Zie de onderstaande voorbeelden.Een ISO-8601-conforme datum met tijdzone afdrukken:
#!/bin/sh var=$(date +"%Y-%m-%dT%H:%M:%S%z") echo $var # Prints an ISO-8601 compliant date with time-zoneEen ISO-8601-conforme datum afdrukken in UTC-tijd:
#!/bin/sh var=$(date -u +"%Y-%m-%dT%H:%M:%SZ") echo $var # Prints an ISO-8601 compliant date in UTC timeKlik in Opdrachten op Selecteer groepen die u wilt opnemen. Wanneer u Groepen selecteren kiest, 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 in de lijst weergegeven 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.
In Controleren + 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 hebt geüpload naar Intune.
Een aangepast kenmerkbeleid controleren
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.
Wanneer een aangepast kenmerkprofiel is uitgevoerd, retourneert het een van de volgende statussen:
- De status Mislukt geeft aan dat het script een afsluitcode heeft geretourneerd die niet nul is of dat het script een onjuiste notatie heeft. De fout wordt gerapporteerd in de kolom Resultaat .
- De status Geslaagd geeft aan dat het script nul heeft geretourneerd als afsluitcode. De uitvoer die door het script wordt weerspiegeld, 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 inchecken vindt elke 8 uur plaats en verschilt van het inchecken bij MDM. Zorg ervoor dat het apparaat is ingeschakeld en is verbonden met een netwerk zodat de medewerker kan inchecken en wacht totdat de medewerker is ingecheckt. U kunt de eindgebruiker ook vragen om 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.apphet macOS-apparaat. - Het middel is mogelijk niet in een gezonde staat. De agent probeert gedurende 24 uur te herstellen, zichzelf te verwijderen en opnieuw te installeren als shell-scripts nog steeds zijn toegewezen.
Hoe vaak wordt de status van scriptuitvoering gerapporteerd?
De status van scriptuitvoering wordt gerapporteerd aan het Microsoft Intune-beheercentrum zodra de scriptuitvoering is voltooid. Als een script is gepland om periodiek met een ingestelde frequentie te worden uitgevoerd, rapporteert het script alleen de status wanneer het voor het eerst wordt uitgevoerd.
Wanneer worden shellscripts weer uitgevoerd?
Een script wordt alleen opnieuw uitgevoerd wanneer de instelling Max aantal keren om opnieuw te proberen als het script mislukt is geconfigureerd en het script mislukt tijdens het uitvoeren. Als het maximumaantal keren dat opnieuw moet worden geprobeerd als het script mislukt niet is geconfigureerd en een script mislukt tijdens uitvoering, wordt het niet opnieuw uitgevoerd en wordt de uitvoeringsstatus gerapporteerd als mislukt.
Welke Intune rolmachtigingen zijn vereist voor shellscripts?
Voor uw toegewezen intune-rol is toestemming nodig voor apparaatconfiguraties om shellscripts te verwijderen, toe te wijzen, te maken, bij te werken of te lezen.
Bekende problemen
- Status Geen scriptuitvoering: 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 geen uitvoeringsstatus voor het script in het beheercentrum.
Aanvullende informatie
Wanneer u shellscripts of aangepaste kenmerken voor macOS-apparaten implementeert vanuit Microsoft Intune, wordt de nieuwe universele versie van de Intune beheeragent-app geïmplementeerd die systeemeigen wordt uitgevoerd op Apple Silicon Mac-machines. Dezelfde implementatie installeert de x64-versie van de app op Mac-computers met Intel. Rosetta 2 is vereist om de x64-versie (Intel) van apps op Apple Silicon Macs uit te voeren. Als u Rosetta 2 automatisch wilt installeren op Apple Silicon Macs, kunt u een shellscript implementeren in Intune. Om een voorbeeldscript te bekijken, zie Rosetta 2 Installation Script.