Guía del administrador de TI (MDM)

Implementación a través de Mobile Device Management (MDM)

Con Network Share Mounter, puedes gestionar recursos compartidos de forma centralizada, imponer configuraciones de aplicaciones y distribuir ajustes de autenticación mediante un perfil de configuración estándar de macOS.

Preference Domain: de.fau.rrze.NetworkShareMounter

Para simplificar la configuración de todas las claves de preferencia, sin tener que crear o editar manualmente un perfil de configuración personalizado en formato XML, proporcionamos dos archivos útiles: un esquema de manifiesto JSON para Jamf Pro y un manifiesto para el iMazing Profile Editor.

Para facilitar la distribución de la aplicación mediante AutoPKG, también ofrecemos las recetas correspondientes de.fau.rrze.pkg.networkShareMounter.

1. El array managedNetworkShares

El núcleo del payload es el array managedNetworkShares. Aquí defines los recursos que deseas montar para tus usuarios.

Nota: Puedes usar la variable %USERNAME% en las rutas, que será reemplazada automáticamente por el nombre de inicio de sesión de macOS del usuario actual.

<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>
        <!-- NUEVO en V4: Definir opcionalmente el nombre del punto de montaje local de forma centralizada -->
        <key>mountPoint</key>
        <string>Global-Company-Data</string>
    </dict>
</array>

2. Claves de configuración disponibles

A continuación, encontrarás una lista exhaustiva de todas las claves MDM disponibles que puedes distribuir para configurar el comportamiento de la aplicación.

ClaveTipoPredeterminadoDescripción
managedNetworkSharesArray of DictArray que contiene diccionarios para cada recurso (requiere networkShare y authType, opcionales mountPoint y username).
autostartBooleanfalseSi es true, la app se inicia automáticamente cuando el usuario inicia sesión.
canChangeAutostartBooleantrueSi es false, evita que el usuario active/desactive la opción de inicio automático en la configuración.
canQuitBooleantrueSi es true, se permite al usuario cerrar la app a través de la barra de menús.
unmountOnExitBooleantrueSi es true, los recursos gestionados se desmontan automáticamente al cerrar la aplicación.
locationString-⚠️ Ruta donde se montarán los recursos de red. Se recomienda encarecidamente dejar esto vacío para usar el valor predeterminado.
kerberosRealmString-Dominio Kerberos/AD para la autenticación de usuarios (ej. EXAMPLE.COM). Habilita la gestión automática de tickets AD/Kerberos.
helpURLString-URL a la mesa de ayuda interna o a la documentación de TI de tu organización.
showMountsInMenuBooleantrueEnumera los recursos montados/desmontados directamente en la barra de menús para un acceso rápido.
usernameOverrideString-Sobrescribe la variable %USERNAME%. Útil si el nombre de usuario de Mac local difiere del nombre de usuario de AD/red.

Nota: El antiguo array networkShares de la versión 2 está obsoleto, pero sigue siendo compatible por motivos de retrocompatibilidad.

3. Personalización de la barra de menús

Tienes un control preciso sobre lo que el usuario ve en la barra de menús. Usa las siguientes claves de tipo String y establece su valor en hidden (elimina el elemento por completo) o disabled (atenúa el elemento). Si no se define una clave, el elemento del menú se muestra normalmente.

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

Ejemplo de payload para ocultar configuración y actualizaciones:

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

4. Gestión de actualizaciones de software (Sparkle)

Network Share Mounter utiliza el framework Sparkle para las actualizaciones automáticas. En entornos empresariales, normalmente querrás desactivar esto para gestionar las actualizaciones a través de tu MDM.

ClaveTipoPredeterminadoDescripción
enableAutoUpdaterBooleantrueInterruptor principal para el framework de actualización. Establecer en false para desactivar completamente las actualizaciones automáticas.
SUEnableAutomaticChecksBooleantrueSi enableAutoUpdater es true, esto controla si la aplicación busca actualizaciones activamente.
SUAutomaticallyUpdateBooleantrueSi es true, las actualizaciones se descargan e instalan automáticamente sin confirmación del usuario.

5. Inicio automático y ejecución en segundo plano

Activación del inicio automático inicial
Debido al diseño de seguridad de macOS, una aplicación debe abrirse al menos una vez antes de que su rutina de inicio automático pueda funcionar. Para garantizar una implementación completamente silenciosa sin interacción del usuario, puedes configurar tu MDM (por ejemplo, Jamf Pro) para que inicie la aplicación una vez, inmediatamente después de la instalación o durante el primer inicio de sesión.

Ejemplo de política de Jamf:

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

Evitar que los usuarios desactiven el inicio automático (macOS 13+)
macOS 13 (Ventura) y versiones posteriores permiten a los usuarios desactivar libremente las aplicaciones en segundo plano a través de los Ajustes del Sistema. Para forzar el inicio automático y evitar que los usuarios desactiven Network Share Mounter, debes implementar un payload de Managed Login Items junto con tu perfil de configuración:

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

6. Control mediante señales UNIX

Network Share Mounter se puede controlar mediante señales UNIX. Esto permite montar o desmontar específicamente todos los recursos compartidos configurados mediante un script, sin utilizar la interfaz de la aplicación. Esto es particularmente útil para proporcionar tareas en un portal de autoservicio para que los usuarios “reparen” las unidades de red.

Señales disponibles

SeñalAcción
SIGUSR1Desmontar todos los recursos (Unmount)
SIGUSR2Montar todos los recursos (Mount)

Ejemplo:

# Desmontar todos los recursos
kill -SIGUSR1 <PID>

# Montar todos los recursos
kill -SIGUSR2 <PID>

Nota: <PID> es el ID de proceso del Network Share Mounter en ejecución.

7. Problemas conocidos de MDM

Jamf Pro: La actualización de inventario (recon) se bloquea
Si utilizas la configuración predeterminada y montas recursos compartidos directamente dentro de la carpeta de inicio del usuario (por ejemplo, ~/Network shares), la recopilación de inventario de Jamf Pro (recon) podría quedarse colgada indefinidamente. Esto ocurre porque Jamf intenta calcular el tamaño de almacenamiento de toda la carpeta de inicio, escaneando efectivamente todos los recursos de red conectados.

Solución: Ve a Settings > Computer Management - Management Framework > Inventory Collection en Jamf Pro y desactiva la opción Include home directory sizes. Alternativamente, modifica la ruta de montaje predeterminada de la aplicación a través de tu perfil MDM.

Network Share Mounter v3

Si todavía depende del antiguo Network Share Mounter (v3, v2, Legacy), puede encontrar la documentación en nuestro repositorio.