IT-beheerdershandleiding (MDM)

Implementatie via MDM

Network Share Mounter kan volledig worden geconfigureerd via een standaard macOS-configuratieprofiel. Alle instellingen worden gelezen vanuit het voorkeursdomein de.fau.rrze.NetworkShareMounter.

Om het aanmaken van profielen te vereenvoudigen, bieden we een JSON-manifestschema voor Jamf Pro en een manifest voor de iMazing Profile Editor.

Voor distributie via AutoPKG zijn recepten beschikbaar op de.fau.rrze.pkg.networkShareMounter.


1. Beheerde netwerkshares (managedNetworkShares)

De array managedNetworkShares definieert welke netwerkshares centraal worden uitgerold naar gebruikers. Elke vermelding is een dictionary met de volgende sleutels:

SleutelTypeVerplichtBeschrijving
networkShareStringDe URL van de share, bijv. smb://fileserver.example.com/share. De plaatshouder %USERNAME% wordt tijdens uitvoering vervangen door de macOS-aanmeldnaam van de gebruiker.
authTypeStringAuthenticatiemethode: krb (Kerberos/SSO), pwd (gebruikersnaam + wachtwoord) of guest. Standaard: krb.
mountPointStringVervangt de naam van de lokale map die als koppelpunt wordt gebruikt. Alleen relevant wanneer de koppellocatie niet /Volumes is. Leeg laten om de sharenaam te gebruiken.
displayNameStringWeergavenaam voor deze share in de app. Als niet ingesteld, wordt de sharenaam gebruikt.
usernameStringStelt vooraf een gebruikersnaam in voor shares van het type pwd. Als weggelaten, wordt de gebruiker hierom gevraagd.
externalKerberosManagementStringInstellen op "true" als Kerberos-tickets voor deze share extern worden beheerd (AD-binding, Jamf Connect, Apple SSO Extension). NSM koppelt de share zonder tussenkomst in het ticketbeheer en toont geen waarschuwing «profiel vereist». Alleen relevant voor authType: krb.
kerberosRealmStringPer-share overschrijving van het Kerberos-realm. Gebruikt samen met externalKerberosManagement om te identificeren welk extern profiel moet worden toegewezen. Gebruikt standaard de globale instelling kerberosRealm.
autoMountString"true" (standaard): de share wordt automatisch gekoppeld bij opstarten en bij netwerkwijzigingen. "false": de share verschijnt in het menu maar wordt nooit automatisch gekoppeld — de gebruiker kan dit op aanvraag doen.

Voorbeeldpayload:

<key>managedNetworkShares</key>
<array>
    <!-- Kerberos-share, automatisch gekoppeld, extern ticketbeheer -->
    <dict>
        <key>networkShare</key>
        <string>smb://fileserver.example.com/global</string>
        <key>authType</key>
        <string>krb</string>
        <key>externalKerberosManagement</key>
        <string>true</string>
        <key>displayName</key>
        <string>Global Data</string>
    </dict>
    <!-- Wachtwoordshare met gebruikersspecifieke homedirectory, alleen handmatig koppelen -->
    <dict>
        <key>networkShare</key>
        <string>smb://home.example.com/%USERNAME%</string>
        <key>authType</key>
        <string>pwd</string>
        <key>mountPoint</key>
        <string>My Home Drive</string>
        <key>autoMount</key>
        <string>false</string>
    </dict>
</array>

Opmerking: de verouderde networkShares-array uit versie 2 wordt nog geaccepteerd voor achterwaartse compatibiliteit, maar mag niet worden gebruikt in nieuwe profielen.


2. Authenticatie en Kerberos

Deze sleutels configureren hoe NSM Kerberos-tickets en gebruikersidentiteit beheert.

SleutelTypeStandaardBeschrijving
kerberosRealmStringKerberos/AD-domein voor gebruikersauthenticatie (bijv. EXAMPLE.COM). Wanneer ingesteld, beheert NSM automatisch het verkrijgen en vernieuwen van Kerberos-tickets. Vereist voor app-beheerde Kerberos-SSO.
kerberosProfileDisplayNameStringBeschrijvende weergavenaam voor het Kerberos-authenticatieprofiel in de app-instellingen. Als niet ingesteld, wordt de realmnaam (bijv. EXAMPLE.COM) direct gebruikt. Nuttig wanneer een leesbare naam zoals "Bedrijfsnetwerk" de voorkeur heeft boven de technische realmreeks.
usernameOverrideStringVervangt de variabele %USERNAME% in sharepaden. Gebruiken wanneer de lokale macOS-aanmeldnaam verschilt van de AD- of netwerknaam.

Beheer van wachtwoordvervaldatum

Wanneer kerberosRealm is geconfigureerd, kan NSM gebruikers waarschuwen voordat hun AD-wachtwoord verloopt. Twee onafhankelijke drempelwaarden sturen het waarschuwingsgedrag:

SleutelTypeStandaardBeschrijving
ExpirationCountdownStartDayInteger14Passieve waarschuwing. Dagen vóór het verlopen van het wachtwoord waarop een stille aftelling verschijnt in de menubalk. De gebruiker ziet dit alleen bij het openen van het menu — geen onderbreking van de workflow. Instellen op 0 om alle vervaldatumfuncties volledig uit te schakelen. Komt overeen met de gelijknamige sleutel van de Apple Kerberos SSO Extension.
ExpirationNotificationStartDayInteger14Actieve waarschuwing. Dagen vóór het verlopen waarop automatisch één keer per kalenderdag een waarschuwingsvenster wordt weergegeven. Moet lager worden ingesteld dan ExpirationCountdownStartDay zodat het dialoogvenster de gebruiker alleen onderbreekt wanneer het verlopen echt nabij is. Komt overeen met de gelijknamige sleutel van Jamf Connect / Apple Kerberos SSO Extension.
passwordChangeURLStringURL van een webgebaseerde selfserviceportal voor wachtwoorden (SSPR). Als ingesteld, verschijnt in het vervaldialoogvenster een knop Wachtwoord wijzigen die deze URL opent in de standaardbrowser. Als niet ingesteld, kan de gebruiker het wachtwoord direct in de app wijzigen (vereist kerberosRealm).
allowPasswordChangeBooleanfalseWanneer true, wordt permanent een item Wachtwoord wijzigen… weergegeven in de menubalk, zelfs voordat de vervaldatumdrempel is bereikt. Het verandert automatisch in de vervaldatumaftelling wanneer de drempel is bereikt. Als ook passwordChangeURL is ingesteld, opent klikken die URL in plaats van het ingebouwde dialoogvenster. Komt overeen met de gelijknamige sleutel van de Apple Kerberos SSO Extension.

Tip — tweeniveaustrategie voor vervaldatum: Stel ExpirationCountdownStartDay hoger in dan ExpirationNotificationStartDay. Voorbeeld: aftelling verschijnt bij 14 dagen (passief, zichtbaar alleen in het menu), dialoogvenster bij 7 dagen (actief, eenmaal per dag). ExpirationCountdownStartDay instellen op 0 schakelt beide waarschuwingen volledig uit.


3. Automatisch opstarten en levenscyclus van de app

Deze sleutels bepalen of de app automatisch wordt gestart bij aanmelding en hoe deze zich gedraagt bij afsluiten.

SleutelTypeStandaardBeschrijving
autostartBooleanfalseWanneer geïmplementeerd als vergrendelde MDM-sleutel, wordt de waarde bij elke start van de app afgedwongen. Wanneer geïmplementeerd als niet-vergrendelde standaardwaarde, wordt deze alleen bij de eerste start toegepast — daarna behoudt de gebruiker de controle.
canChangeAutostartBooleantrueBepaalt alleen de zichtbaarheid van de schakelaar voor automatisch opstarten in de app-instellingen. Instellen op false om deze grijs weer te geven. Heeft geen invloed op MDM-handhaving. Om de autostart-status bij elke start af te dwingen, autostart als vergrendelde sleutel implementeren.
canQuitBooleantrueWanneer true, kan de gebruiker de app afsluiten via de menubalk. Instellen op false om het item Stoppen volledig te verwijderen.
unmountOnExitBooleantrueWanneer true, worden alle beheerde shares automatisch ontkoppeld bij het afsluiten van de app.

Hoe autostart-handhaving werkt (macOS 13+)

NSM gebruikt Apple’s SMAppService-API om zichzelf te registreren als aanmeldingsitem. macOS beheert dit als een LaunchAgent in /Library/LaunchAgents/de.fau.rrze.NetworkShareMounter.plist (eigendom van root). Dit is standaard macOS-gedrag, met de volgende implicaties voor MDM-beheerders:

  • Het osascript-commando tell application "System Events" to delete login item "…" werkt niet voor via SMAppService geregistreerde items. System Events beheert alleen aanmeldingsitems van het oude gebruikerstype.
  • Wanneer autostart = false wordt afgedwongen via een vergrendelde MDM-sleutel, roept NSM bij elke start SMAppService.unregister() aan en verwijdert macOS het LaunchAgent-bestand automatisch.
  • Als u automatisch opstarten beheert via een eigen LaunchAgent of payload voor aanmeldingsitems, stel autostart = false in als vergrendelde sleutel om te voorkomen dat NSM een conflicterend aanmeldingsitem registreert.

Voorkomen dat gebruikers automatisch opstarten uitschakelen

macOS 13 (Ventura) en latere versies laten gebruikers achtergrond-apps vrijelijk uitschakelen via Systeeminstellingen. Om het automatisch opstarten af te dwingen en te voorkomen dat gebruikers NSM uitschakelen, implementeer een Managed Login Items-payload naast uw configuratieprofiel:

  • Rule Type: Bundle Identifier
  • Rule Value: de.fau.rrze.NetworkShareMounter

Het initiële automatisch opstarten activeren

Vanwege het beveiligingsontwerp van macOS moet een app minstens één keer worden geopend voordat de registratie van het aanmeldingsitem van kracht wordt. Voor een stille implementatie zonder gebruikersinteractie configureert u uw MDM om NSM eenmalig te starten direct na installatie of bij de eerste aanmelding.

Voorbeeld Jamf-beleid:

  • Trigger: Login
  • Frequency: Once per user per computer
  • Command: sudo -u $(stat -f%Su /dev/console) open -a "/Applications/Network Share Mounter.app"

4. Gebruikersinterface

Deze sleutels bepalen de koppellocatie, het uiterlijk van de menubalk en welke menu-items toegankelijk zijn voor gebruikers.

SleutelTypeStandaardBeschrijving
locationStringPad waar netwerkshares worden gekoppeld. De standaard is een gelokaliseerde map in de homedirectory van de gebruiker (bijv. ~/Network Shares). ⚠️ Het wordt sterk aanbevolen dit veld leeg te laten en de standaard te gebruiken. Wijzigen kan de Finder-integratie breken.
cleanupLocationDirectoryBooleanfalseWanneer true, verwijdert NSM bestanden en lege mappen op de koppellocatie die het koppelen van een share zouden verhinderen. Lees de documentatie zorgvuldig voordat u dit inschakelt — deze optie wijzigt het bestandssysteem van de gebruiker.
showMountsInMenuBooleantrueWanneer true, worden gekoppelde en niet-gekoppelde shares afzonderlijk weergegeven in de menubalk voor snelle toegang met één klik.
helpURLStringURL naar de interne helpdesk of IT-documentatie van uw organisatie. Wanneer ingesteld, verschijnt in de menubalk het item Over Network Share Mounter dat deze URL opent in de standaardbrowser.

Aanpassen van menubalkitems

U kunt afzonderlijke menubalkitems weergeven, verbergen of uitschakelen met de volgende sleutels. Stel de waarde in op hidden om het item volledig te verwijderen, of op disabled om het grijs weer te geven zonder het te verwijderen. Als een sleutel niet is gedefinieerd, wordt het item normaal weergegeven.

SleutelBepaalt
menuConnectSharesActie Shares koppelen
menuDisconnectSharesActie Shares ontkoppelen
menuShowSharesMountDirGekoppelde shares weergeven (opent de koppelmap in Finder)
menuShowSharesAfzonderlijke share-items in de lijst
menuSettingsItem Voorkeuren…
menuCheckUpdatesItem Controleren op updates…
menuAboutItem Over Network Share Mounter (alleen zichtbaar als helpURL is ingesteld)
menuQuitItem Network Share Mounter stoppen

Voorbeeld — Instellingen en Updates verbergen voor gebruikers:

<key>menuSettings</key>
<string>hidden</string>
<key>menuCheckUpdates</key>
<string>hidden</string>

5. Softwareupdatebeheer

NSM gebruikt het Sparkle-framework voor automatische updates. In beheerde omgevingen is het doorgaans aan te raden dit uit te schakelen en updates via MDM te beheren.

SleutelTypeStandaardBeschrijving
disableAutoUpdateFrameworkBooleanfalseHoofdschakelaar. Instellen op true om het Sparkle-updateframework volledig uit te schakelen. Wanneer uitgeschakeld, worden geen updatecontroles uitgevoerd en wordt het item Controleren op updates verwijderd.
SUEnableAutomaticChecksBooleantrueWanneer het framework is ingeschakeld, bepaalt dit of NSM actief op de achtergrond naar nieuwe versies zoekt. Instellen op false om controles te onderdrukken terwijl het framework geladen blijft.
SUAutomaticallyUpdateBooleantrueWanneer true, worden updates automatisch gedownload en geïnstalleerd zonder de gebruiker om bevestiging te vragen. Heeft alleen effect wanneer SUEnableAutomaticChecks ook true is.

Opmerking: de verouderde sleutel enableAutoUpdater (omgekeerde logica) wordt nog geaccepteerd en automatisch gemigreerd bij de eerste start. Gebruik disableAutoUpdateFramework in alle nieuwe profielen.


6. Scripting en automatisering

NSM reageert op UNIX-signalen, waardoor externe scripts koppel- en ontkoppelbewerkingen kunnen activeren zonder de app-interface te gebruiken. Dit is nuttig voor self-serviceportal-workflows waarbij gebruikers netwerkschijven kunnen «repareren».

SignaalActie
SIGUSR1Alle shares ontkoppelen
SIGUSR2Alle shares koppelen

Voorbeeld:

# PID opvragen
NSM_PID=$(pgrep -x "Network Share Mounter")

# Alle shares ontkoppelen
kill -SIGUSR1 "$NSM_PID"

# Alle shares koppelen
kill -SIGUSR2 "$NSM_PID"

7. Bekende problemen en compatibiliteit

Jamf Pro: inventarisatie (recon) blijft hangen

Wanneer shares worden gekoppeld in de homedirectory van de gebruiker (standaardgedrag), kan het Jamf Pro-inventarisatieproces (recon) onbepaald blijven hangen. Dit gebeurt omdat Jamf probeert de totale grootte van de homedirectory te berekenen, waardoor alle gekoppelde netwerkshares worden doorzocht.

Oplossing: Ga in Jamf Pro naar Settings > Computer Management - Management Framework > Inventory Collection en schakel Include home directory sizes uit. U kunt ook de sleutel location instellen op een pad buiten de homedirectory, zoals /Volumes.


Network Share Mounter v3

Als u nog afhankelijk bent van de verouderde Network Share Mounter (v3/v2), is de documentatie beschikbaar in onze repository.