0 votos

¿Existe una forma de añadir un elemento de inicio de sesión en el terminal sin activar un diálogo de permiso en MacOS 10.14 y superior?

Para contextualizar: Estoy trabajando en un script cuyo propósito es instalar una aplicación específica y además añadirla a los elementos de inicio de sesión del usuario. Este programa puede necesitar ser desplegado en un gran número de sistemas por lo que es deseable que se instale sin ninguna entrada del usuario en la máquina de destino.

Actualmente esto se hace mediante un comando del tipo osascript -e 'tell application "System Events" to make login item ...' que funciona bien en versiones de MacOS anteriores a la 10.14. Sin embargo, en las versiones más recientes, al ejecutar este comando se activa un diálogo que solicita permisos de Automatización (AppleEvents), lo que impide que la instalación se ejecute de forma desatendida.

¿Existe una forma alternativa de añadir un elemento de inicio de sesión que no requiera permisos adicionales, o bien una forma de conceder el permiso necesario sin que el usuario lo introduzca?

2voto

No tengo mucha experiencia administrando/realizando despliegues masivos de scripts sobre Jamf pero estoy seguro de que los siguientes enlaces te serán muy útiles. Creo que lo que estás buscando es cómo trabajar alrededor de las cargas de control de políticas de preferencias de Apple (PPPC).

Consulte los siguientes recursos:

GitHub - homebysix

Documento oficial de Apple sobre PPPC

GitHub - Jamf

Básicamente, usted quiere averiguar lo que desea explícitamente lista blanca y preautorizar estos utilizando la utilidad de perfil MDM y desplegar el perfil que creó junto con la carga útil.

0voto

rybosome Puntos 1829

La solución que buscas se basará en SMLoginItemSetEnabled() . Este es el reemplazo moderno del obsoleto LSSharedFileListInsertItemURL() que es utilizado por el Usuarios y grupos panel de preferencias del sistema.

Tendrá que crear dos pequeñas aplicaciones. La aplicación "principal" se encargará de lanzar su carga útil. La aplicación "helper" será lanzada al iniciar la sesión por MacOS y tendrá que lanzar la aplicación "principal". (Si tu carga útil fuera algo a lo que tuvieras acceso de origen, no necesitarías una aplicación "principal" separada y podrías simplemente añadir el ayudante directamente a tu aplicación).

Hay varios tutoriales que lo describen en detalle. Aquí hay uno . También puede utilizar un paquete Swift que contiene gran parte del código de la plantilla para usted.

Así es como esto funcionaría:

  1. Su configuración automatizada script ejecuta la aplicación principal (que también contiene la aplicación de ayuda dentro de su paquete) una vez para configurar el lanzamiento en el inicio de sesión.
  2. En adelante, cuando el usuario inicie la sesión, MacOS lanzará el ayudante.
  3. El ayudante lanza la aplicación principal.
  4. La aplicación principal utiliza NSWorkspace para lanzar su carga útil.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X