Guide de l'administrateur informatique (MDM)

Déploiement via Mobile Device Management (MDM)

Avec Network Share Mounter, vous pouvez gérer de manière centralisée les partages, imposer des paramètres d’application et distribuer des configurations d’authentification via un profil de configuration macOS standard.

Preference Domain : de.fau.rrze.NetworkShareMounter

Pour simplifier la configuration de toutes les clés de paramétrage - sans avoir à créer ou modifier manuellement un profil de configuration personnalisé au format XML - nous fournissons deux fichiers utiles : un schéma de manifeste JSON pour Jamf Pro et un manifeste pour iMazing Profile Editor.

Pour faciliter la distribution de l’application via AutoPKG, nous proposons également des recettes correspondantes de.fau.rrze.pkg.networkShareMounter.

1. Le tableau managedNetworkShares

Le cœur du payload est le tableau managedNetworkShares. C’est ici que vous définissez les partages que vous souhaitez monter pour vos utilisateurs.

Remarque : Vous pouvez utiliser la variable %USERNAME% dans les chemins, qui sera automatiquement remplacée par le nom de connexion macOS de l’utilisateur actuel.

<key>managedNetworkShares</key>
<array>
    <dict>
        <key>networkShare</key>
        <string>smb://fileserver.company.local/global</string>
        <key>authType</key>
        <string>krb</string>
    </dict>
    <dict>
        <key>networkShare</key>
        <string>smb://home.company.local/%USERNAME%</string>
        <key>authType</key>
        <string>password</string>
        <!-- NOUVEAU dans la V4 : Définir optionnellement le nom du point de montage local de manière centralisée -->
        <key>mountPoint</key>
        <string>Global-Company-Data</string>
    </dict>
</array>

2. Clés de configuration disponibles

Vous trouverez ci-dessous une liste complète de toutes les clés MDM disponibles que vous pouvez déployer pour configurer le comportement de l’application.

CléTypeDéfautDescription
managedNetworkSharesArray of DictTableau contenant des dictionnaires pour chaque partage (nécessite networkShare et authType, mountPoint et username en option).
autostartBooleanfalseSi true, l’application se lance automatiquement à la connexion de l’utilisateur.
canChangeAutostartBooleantrueSi false, empêche l’utilisateur de modifier l’option de démarrage automatique dans les paramètres.
canQuitBooleantrueSi true, l’utilisateur est autorisé à quitter l’application via la barre de menus.
unmountOnExitBooleantrueSi true, les partages gérés sont automatiquement démontés lorsque l’application est fermée.
locationString-⚠️ Chemin où les partages réseau seront montés. Il est fortement recommandé de laisser ce champ vide pour utiliser le chemin par défaut.
kerberosRealmString-Domaine Kerberos/AD pour l’authentification des utilisateurs (ex. EXAMPLE.COM). Active la gestion automatique des tickets AD/Kerberos.
helpURLString-URL vers le centre d’assistance interne de votre organisation ou la documentation informatique.
showMountsInMenuBooleantrueListe les partages montés/démontés directement dans la barre de menus pour un accès rapide.
usernameOverrideString-Remplace la variable %USERNAME%. Utile si le nom d’utilisateur Mac local diffère du nom d’utilisateur AD/réseau.

Remarque : L’ancien tableau networkShares de la version 2 est obsolète mais reste pris en charge pour des raisons de rétrocompatibilité.

3. Personnalisation de la barre de menus

Vous pouvez contrôler précisément ce que l’utilisateur voit dans la barre de menus. Utilisez les clés de chaîne (String) suivantes et définissez leur valeur sur hidden (masque complètement l’élément) ou disabled (grise l’élément). Si une clé n’est pas définie, l’élément de menu s’affiche normalement.

  • menuConnectShares
  • menuDisconnectShares
  • menuShowSharesMountDir
  • menuShowShares
  • menuSettings
  • menuCheckUpdates
  • menuAbout

Exemple de payload pour masquer les paramètres et les mises à jour :

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

4. Gestion des mises à jour logicielles (Sparkle)

Network Share Mounter utilise le framework Sparkle pour les mises à jour automatiques. Dans les environnements d’entreprise, vous souhaiterez généralement le désactiver afin de gérer les mises à jour via votre MDM.

CléTypeDéfautDescription
enableAutoUpdaterBooleantrueInterrupteur principal pour le framework de mise à jour. Définir sur false pour désactiver complètement les mises à jour automatiques.
SUEnableAutomaticChecksBooleantrueSi enableAutoUpdater est sur true, cela contrôle si l’application recherche activement les mises à jour.
SUAutomaticallyUpdateBooleantrueSi true, les mises à jour sont téléchargées et installées automatiquement sans confirmation de l’utilisateur.

5. Lancement automatique et exécution en arrière-plan

Déclenchement du lancement automatique initial
En raison de la conception de la sécurité de macOS, une application doit être lancée au moins une fois avant que sa routine de lancement automatique puisse prendre le relais. Pour garantir un déploiement totalement silencieux sans interaction de l’utilisateur, vous pouvez configurer votre MDM (par ex. Jamf Pro) pour lancer l’application une fois, immédiatement après l’installation ou lors de la première connexion.

Exemple de politique Jamf :

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

Empêcher les utilisateurs de désactiver le lancement automatique (macOS 13+)
macOS 13 (Ventura) et les versions ultérieures permettent aux utilisateurs de désactiver librement les applications en arrière-plan via les Réglages Système. Pour imposer le lancement automatique et empêcher les utilisateurs de désactiver Network Share Mounter, vous devez déployer un payload Managed Login Items avec votre profil de configuration :

  • Rule Type : Bundle Identifier
  • Rule Value : de.fau.rrze.NetworkShareMounter
  • Rule Comment : Prevent disabling Network Share Mounter autostart

6. Contrôle via des signaux UNIX

Network Share Mounter peut être contrôlé via des signaux UNIX. Cela permet de monter ou démonter spécifiquement tous les partages configurés via un script, sans utiliser l’interface de l’application. C’est particulièrement utile pour fournir des tâches dans un portail en libre-service permettant aux utilisateurs de « réparer » les lecteurs réseau.

Signaux disponibles

SignalAction
SIGUSR1Démonter tous les partages (Unmount)
SIGUSR2Monter tous les partages (Mount)

Exemple :

# Démonter tous les partages
kill -SIGUSR1 <PID>

# Monter tous les partages
kill -SIGUSR2 <PID>

Remarque : <PID> est l’ID de processus du Network Share Mounter en cours d’exécution.

7. Problèmes MDM connus

Jamf Pro : La mise à jour de l’inventaire (recon) se bloque
Si vous utilisez la configuration par défaut et montez les partages directement dans le répertoire de départ de l’utilisateur (par ex. ~/Network shares), la collecte d’inventaire Jamf Pro (recon) peut se bloquer indéfiniment. Cela se produit parce que Jamf tente de calculer la taille de stockage de l’ensemble du répertoire de départ, scannant ainsi tous les partages réseau connectés.

Solution : Allez dans Settings > Computer Management - Management Framework > Inventory Collection dans Jamf Pro et désactivez l’option Include home directory sizes. Alternativement, modifiez le chemin de montage par défaut de l’application via votre profil MDM.

Network Share Mounter v3

Si vous dépendez encore de l’ancien Network Share Mounter (v3, v2, Legacy), vous pouvez trouver la documentation dans notre dépôt.