Guida per l'amministratore IT (MDM)

Distribuzione tramite Mobile Device Management (MDM)

Con Network Share Mounter puoi gestire le condivisioni centralmente, forzare le impostazioni dell’applicazione e distribuire le configurazioni di autenticazione tramite un profilo di configurazione macOS standard.

Preference Domain: de.fau.rrze.NetworkShareMounter

Per semplificare la configurazione di tutte le chiavi di preferenza - senza dover creare o modificare manualmente un profilo di configurazione personalizzato in formato XML - forniamo due file utili: uno schema di manifesto JSON per Jamf Pro e un manifesto per iMazing Profile Editor.

Per facilitare la distribuzione dell’app tramite AutoPKG, forniamo anche le relative ricette de.fau.rrze.pkg.networkShareMounter.

1. L’array managedNetworkShares

Il cuore del payload è l’array managedNetworkShares. Qui definisci le condivisioni che desideri montare per i tuoi utenti.

Nota: puoi utilizzare la variabile %USERNAME% nei percorsi, che verrà automaticamente sostituita dal nome di accesso macOS dell’utente corrente.

<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>
        <!-- NUOVO nella V4: Definire opzionalmente il nome del punto di montaggio locale in modo centralizzato -->
        <key>mountPoint</key>
        <string>Global-Company-Data</string>
    </dict>
</array>

2. Chiavi di configurazione disponibili

Di seguito è riportato un elenco completo di tutte le chiavi MDM disponibili che è possibile distribuire per configurare il comportamento dell’app.

ChiaveTipoPredefinitoDescrizione
managedNetworkSharesArray of DictArray contenente dizionari per ogni condivisione (richiede networkShare e authType, opzionali mountPoint e username).
autostartBooleanfalseSe true, l’app si avvia automaticamente al login dell’utente.
canChangeAutostartBooleantrueSe false, impedisce all’utente di modificare l’opzione di avvio automatico nelle impostazioni.
canQuitBooleantrueSe true, l’utente è autorizzato a chiudere l’app dalla barra dei menu.
unmountOnExitBooleantrueSe true, le condivisioni gestite vengono disconnesse automaticamente alla chiusura dell’app.
locationString-⚠️ Percorso in cui verranno montate le condivisioni di rete. Si consiglia vivamente di lasciare vuoto questo campo per utilizzare il percorso predefinito.
kerberosRealmString-Dominio Kerberos/AD per l’autenticazione utente (es. EXAMPLE.COM). Abilita la gestione automatica dei ticket AD/Kerberos.
helpURLString-URL dell’helpdesk interno dell’organizzazione o della documentazione IT.
showMountsInMenuBooleantrueElenca le condivisioni montate/smontate direttamente nella barra dei menu per un accesso rapido.
usernameOverrideString-Sostituisce la variabile %USERNAME%. Utile se il nome utente Mac locale differisce dal nome utente AD/di rete.

Nota: Il vecchio array networkShares della versione 2 è deprecato, ma rimane supportato per motivi di retrocompatibilità.

3. Personalizzazione della barra dei menu

Hai un controllo granulare su ciò che l’utente vede nella barra dei menu. Utilizza le seguenti chiavi di tipo String e imposta il loro valore su hidden (rimuove completamente l’elemento) o disabled (ingrigisce l’elemento). Se una chiave non è definita, la voce di menu viene visualizzata normalmente.

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

Esempio di payload per nascondere impostazioni e aggiornamenti:

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

4. Gestione degli aggiornamenti software (Sparkle)

Network Share Mounter utilizza il framework Sparkle per gli aggiornamenti automatici. Negli ambienti aziendali, di solito si desidera disabilitarlo per gestire gli aggiornamenti tramite l’MDM.

ChiaveTipoPredefinitoDescrizione
enableAutoUpdaterBooleantrueInterruttore principale per il framework di aggiornamento. Imposta su false per disabilitare completamente gli aggiornamenti automatici.
SUEnableAutomaticChecksBooleantrueSe enableAutoUpdater è true, controlla se l’app cerca attivamente gli aggiornamenti.
SUAutomaticallyUpdateBooleantrueSe true, gli aggiornamenti vengono scaricati e installati automaticamente senza la conferma dell’utente.

5. Avvio automatico ed esecuzione in background

Attivazione dell’avvio automatico iniziale
A causa del design di sicurezza di macOS, un’app deve essere avviata almeno una vez prima che la sua routine di avvio automatico possa subentrare. Per garantire una distribuzione completamente invisibile senza l’interazione dell’utente, puoi configurare il tuo MDM (es. Jamf Pro) per avviare l’app una sola volta, subito dopo l’installazione o durante il primo login.

Esempio di policy Jamf:

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

Impedire agli utenti di disattivare l’avvio automatico (macOS 13+)
macOS 13 (Ventura) e versionie successive consentono agli utenti di disabilitare liberamente le applicazioni in background tramite le Impostazioni di Sistema. Per imporre l’avvio automatico e impedire agli utenti di spegnere Network Share Mounter, dovresti distribuire un payload Managed Login Items insieme al tuo profilo di configurazione:

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

6. Controllo tramite segnali UNIX

Network Share Mounter può essere controllato tramite segnali UNIX. Questo permette di smontare o montare specificamente tutte le condivisioni configurate tramite uno script, senza utilizzare l’interfaccia dell’app. Ciò è particolarmente utile per fornire compiti in un Self Service Portal affinché gli utenti possano “riparare” le unità di rete.

Segnali disponibili

SegnaleAzione
SIGUSR1Smonta tutte le condivisioni (Unmount)
SIGUSR2Monta tutte le condivisioni (Mount)

Esempio:

# Smonta tutte le condivisioni
kill -SIGUSR1 <PID>

# Monta tutte le condivisioni
kill -SIGUSR2 <PID>

Nota: <PID> è l’ID di processo del Network Share Mounter in esecuzione.

7. Problemi MDM noti

Jamf Pro: L’aggiornamento dell’inventario (recon) si blocca
Se utilizzi la configurazione predefinita e monti le condivisioni direttamente all’interno della cartella Inizio dell’utente (es. ~/Network shares), la raccolta dell’inventario di Jamf Pro (recon) potrebbe bloccarsi all’infinito. Questo accade perché Jamf tenta di calcolare le dimensioni di archiviazione dell’intera cartella Inizio, scansionando di fatto tutte le condivisioni di rete connesse.

Soluzione: Vai su Settings > Computer Management - Management Framework > Inventory Collection in Jamf Pro e disabilita l’opzione Include home directory sizes. In alternativa, modifica il percorso di montaggio predefinito dell’app tramite il tuo profilo MDM.

Network Share Mounter v3

Se hai ancora bisogno del vecchio Network Share Mounter (v3, v2, Legacy), puoi trovare la documentazione nel nostro repository.