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é | Type | Défaut | Description |
|---|---|---|---|
managedNetworkShares | Array of Dict | Tableau contenant des dictionnaires pour chaque partage (nécessite networkShare et authType, mountPoint et username en option). | |
autostart | Boolean | false | Si true, l’application se lance automatiquement à la connexion de l’utilisateur. |
canChangeAutostart | Boolean | true | Si false, empêche l’utilisateur de modifier l’option de démarrage automatique dans les paramètres. |
canQuit | Boolean | true | Si true, l’utilisateur est autorisé à quitter l’application via la barre de menus. |
unmountOnExit | Boolean | true | Si true, les partages gérés sont automatiquement démontés lorsque l’application est fermée. |
location | String | - | ⚠️ 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. |
kerberosRealm | String | - | Domaine Kerberos/AD pour l’authentification des utilisateurs (ex. EXAMPLE.COM). Active la gestion automatique des tickets AD/Kerberos. |
helpURL | String | - | URL vers le centre d’assistance interne de votre organisation ou la documentation informatique. |
showMountsInMenu | Boolean | true | Liste les partages montés/démontés directement dans la barre de menus pour un accès rapide. |
usernameOverride | String | - | 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.
menuConnectSharesmenuDisconnectSharesmenuShowSharesMountDirmenuShowSharesmenuSettingsmenuCheckUpdatesmenuAbout
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é | Type | Défaut | Description |
|---|---|---|---|
enableAutoUpdater | Boolean | true | Interrupteur principal pour le framework de mise à jour. Définir sur false pour désactiver complètement les mises à jour automatiques. |
SUEnableAutomaticChecks | Boolean | true | Si enableAutoUpdater est sur true, cela contrôle si l’application recherche activement les mises à jour. |
SUAutomaticallyUpdate | Boolean | true | Si 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
| Signal | Action |
|---|---|
SIGUSR1 | Démonter tous les partages (Unmount) |
SIGUSR2 | Monter 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.