UMAD (Slack de macadmin #umad)
UMAD (Slack de macadmin #umad)
[U]universal
[M]MD
[A]aprobación
[D]diálogo
Python integrado
A partir de la versión 2.0, UMAD ahora usa su propio Python incorporado (actualmente la versión 3.8). Esto se debe a la próxima eliminación de Python2 por parte de Apple.
FoundationPlist
ha sido reemplazada por la versión de Python 3 de plistlib
Nibbler se ha actualizado para admitir python 3.
Construyendo un marco de trabajo de python incrustado
Para reducir el tamaño del repositorio de git, deber crea tu propio Python. Para hacer esto, simplemente ejecute el ./build_python_framework
script dentro del repositorio.
Este proceso se probó solo en Catalina.
./build_python_framework
Cloning relocatable-python tool from github...
Cloning into '/tmp/relocatable-python-git'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 78 (delta 12), reused 19 (delta 9), pack-reused 50
Unpacking objects: 100% (78/78), done.
Downloading https://www.python.org/ftp/python/3.8.0/python-3.8.0-macosx10.9.pkg...
...
Done!
Customized, relocatable framework is at /Library/umad/Python.framework
Moving Python.framework to umad munki-pkg payload folder
Taking ownership of the file to not break git
Objetivo
Una herramienta profesional para ayudar a los usuarios a inscribir dispositivos preexistentes en MDM.
capturas de pantalla
DEP
Manual
UAMDM
Diagrama simplificado
notas
Necesitará usar munki-pkg para construir este paquete.
Debido a la forma en que funciona git, umad no contendrá el Logs
carpeta necesaria para que se complete la postinstalación. Para crear un paquete que funcione correctamente, deberá ejecutar el siguiente comando:
munkipkg --sync /path/to/cloned_repo/mdm/umad
Compatibilidad con SO v1
Se han probado los siguientes sistemas operativos y versiones.
- 10.10.0 Nota 1, 10.10.5 – Nota 2
- 10.11.0, 10.11.6
- 10.12.0, 10.12.6 (10.12 es muy poco confiable con DEP persistente)
- 10.13.0 10.13.3, 10.13.6
- 10.14.0
- 10.15
Compatibilidad con SO v2 (python integrado)
Los siguientes sistemas operativos y versiones han sido probados con python incrustado.
- 10.14
- 10.15
Empezando
Para empezar, puede utilizar la configuración predeterminada en /Library/LaunchAgent/com.anothertoolappleshouldhaveprovided.umad.plist
Esencialmente, todos los componentes de la interfaz de usuario son personalizables, utilizando el LaunchAgent anterior.
- Cree su .pkg con munki-pkg e instálelo en su estación de trabajo de destino.
- Terminal abierta.
ejemplo
/Library/Application Support/umad/Resources/umad --cutoffdate 2018-9-7-17:00
establece la fecha de corte para el 7 de septiembre a las 5 p.m.
Fecha de corte
Fecha de corte en UTC.
<string>--cutoffdate</string>
<string>2018-12-31-17:00</string>
Advertencia de fecha de corte
Este es el número, en días, de cuándo iniciar la advertencia de IU inicial. Cuando pase este conjunto de días, el usuario deberá presionar el botón “Entiendo”, seguido del botón “Cerrar” para salir de la interfaz de usuario.
<string>--cutoffdatewarning</string>
<string>14</string>
Texto de fecha de vencimiento
Esta es la parte en negrita de la interfaz de usuario hacia la parte superior debajo del “texto del título”.
<string>--duedatetext</string>
<string>MDM Enrollment is required by 12/31/2018 (No Restart Required)</string>
Texto de error DEP
Si un usuario tiene un dispositivo compatible con DEP, pero ya pasó la ventana de inscripción, tendrá la opción de inscribirse manualmente.
Este es el primer conjunto de texto sobre el botón de inscripción.
<string>--depfailuretext</string>
<string>Not getting this notification?</string>
Subtexto de error DEP
Si un usuario tiene un dispositivo compatible con DEP, pero ya pasó la ventana de inscripción, tendrá la opción de inscribirse manualmente.
Este es el segundo conjunto de texto sobre el botón de inscripción.
<string>--depfailuresubtext</string>
<string>You can also enroll manually below:</string>
Habilitar el botón de inscripción
Mostrar siempre el botón de inscripción manual, DEP o no.
<string>--enableenrollmentbutton</string>
Respetar la configuración de DND
Si un dispositivo es compatible con DEP, umad no respetará la configuración de DoNotDisturb para que la molestia pueda aparecer.
Si el administrador quiere respetar No Molestar para los dispositivos DEP, utilice esta función.
Los dispositivos que no son DEP respetarán la configuración de DND de los usuarios
<string>--honordndsettings</string>
Ruta del logotipo
Puede reemplazar el company_logo.png incluido con su propio company_logo.png o puede configurar una ruta personalizada con la siguiente cadena:
<string>--logopath</string>
<string>/Some/Custom/Path/company_logo.png</string>
Texto de inscripción manual
Si un usuario no tiene un dispositivo compatible con DEP, tendrá la opción de inscribirse manualmente.
Es posible que se requiera autenticación para la inscripción manual.
Este es el texto en negrita que ocupa el lugar de la captura de pantalla de DEP o UAMDM.
<string>--manualenrollmenttext</string>
<string>Manual Enrollment Required</string>
Texto de inscripción manual h1
Si un usuario no tiene un dispositivo compatible con DEP, tendrá la opción de inscribirse manualmente.
Es posible que se requiera autenticación para la inscripción manual.
Este es el primer conjunto de texto sobre el botón de inscripción.
<string>--manualenrollh1text</string>
<string>Want this box to go away?</string>
Texto h2 de inscripción manual
Si un usuario no tiene un dispositivo compatible con DEP, tendrá la opción de inscribirse manualmente.
Es posible que se requiera autenticación para la inscripción manual.
Este es el segundo conjunto de texto sobre el botón de inscripción.
<string>--manualenrollh2text</string>
<string>Click on the Manual Enrollment button below.</string>
URL de registro manual
Configure el botón Inscripción manual con una URL personalizada.
<string>--manualenrollmenturl</string>
<string>https://apple.com</string>
URL de más información
Cuando vea el botón Inscripción manual, puede personalizar una URL que dirija a los usuarios a más información.
<string>--moreinfourl</string>
<string>https://google.com</string>
Ruta de captura de pantalla de Nag
Puede modificar el LaunchAgent agregando su ruta personalizada o simplemente reemplazar el nag_ss.png incluido con su propio .png. (recuerde nombrar el archivo nag_ss.png si no está utilizando una ruta personalizada)
<string>--nagsspath</string>
<string>/Some/Custom/Path/nag_ss.png</string>
sin temporizador
Utilice esta configuración si NO HAGA desea restaurar la GUI de umad al frente de la ventana de un usuario.
<string>--notimer</string>
Texto del párrafo 1
Este es el texto del primer párrafo. Límite de 160 caracteres.
<string>--paragraph1</string>
<string>If you do not enroll into MDM you will lose the ability to connect to Wi-Fi, VPN and Managed Software Center.</string>
Texto del párrafo 2
Este es el texto del segundo párrafo. Límite de 160 caracteres.
<string>--paragraph2</string>
<string>To enroll, just look for the below notification, and click Details. Once prompted, log in with your username and password.</string>
Texto del párrafo 2
Este es el texto del tercer párrafo. Límite de 160 caracteres.
<string>--paragraph3</string>
<string>To enroll, just look for the below notification, and click Details. Once prompted, log in with your OneLogin username and password.</string>
Identificador de perfil
Este es el identificador de perfil para máquinas < 10.13 para verificar la inscripción. Si no establece este valor, Umad intentará buscar un perfil instalado en la máquina con el Tipo de carga útil de com.apple.mdm
<string>--profileidentifier</string>
<string>B68ABF1E-70E2-43B0-8300-AE65F9AFA330</string>
Para obtener este valor, ejecute el siguiente comando en una computadora con su perfil de MDM instalado: profiles -C -o stdout-xml
Busque el perfil de MDM y anote el identificador. Algunos MDM pueden usar un UUID para este valor.
Algunos ejemplos:
<dict>
<key>ProfileDescription</key>
<string>MDM profile</string>
<key>ProfileDisplayName</key>
<string>MDM Profile</string>
<key>ProfileIdentifier</key>
<string>220cad8d-c273-422f-afcb-9740857b38a0</string>
</dict>
<dict>
<key>ProfileDescription</key>
<string>MDM profile</string>
<key>ProfileDisplayName</key>
<string>MDM Profile</string>
<key>ProfileIdentifier</key>
<string>com.awesome.mdm.profile</string>
</dict>
Texto del subtítulo
Este es el texto justo debajo del título principal.
<string>--subtitletext</string>
<string>A friendly reminder from your local IT team</string>
Preferencias del sistema H1 texto
Si el usuario tiene un dispositivo 10.13.4+ que no es MDM aprobado por el usuario, se le notificará que necesita aprobar el MDM.
Este es el primer conjunto de texto sobre el botón de preferencias del sistema.
<string>--sysprefsh1text</string>
<string>Want this box to go away?</string>
Preferencias del sistema Texto H2
Si el usuario tiene un dispositivo 10.13.4+ que no es MDM aprobado por el usuario, se le notificará que necesita aprobar el MDM.
Este es el segundo conjunto de texto sobre el botón de preferencias del sistema.
<string>--sysprefsh2text</string>
<string>Open System Preferences and approve Device Management.</string>
Texto del título
Este es el texto principal, en negrita en la parte superior.
<string>--titletext</string>
<string>MDM Enrollment</string>
Temporizador Día 1
El tiempo, en segundos, para restaurar la GUI de umad al frente de la ventana de un usuario. Esto ocurrirá indefinidamente hasta que se cierre la interfaz de usuario o se inscriba MDM.
Cuando la fecha límite de MDM es un día o menos, este temporizador se activa.
<string>--timerday1</string>
<string>600</string>
Temporizador día 3
El tiempo, en segundos, para restaurar la GUI de umad al frente de la ventana de un usuario. Esto ocurrirá indefinidamente hasta que se cierre la interfaz de usuario o se inscriba MDM.
Cuando la fecha límite de MDM es tres días o menos a partir de la fecha actual.
<string>--timerday3</string>
<string>7200</string>
Temporizador transcurrido
Después de que el usuario interactúe con la GUI de umad (como hacer clic en el botón “Entiendo”), el tiempo transcurrido controla cuándo se volverá a mostrar la IU.
Esto ocurrirá indefinidamente hasta que se inscriba el MDM.
<string>--timerelapsed</string>
<string>10</string>
final del temporizador
El tiempo, en segundos, para restaurar la GUI de umad al frente de la ventana de un usuario. Esto ocurrirá indefinidamente hasta que se cierre la interfaz de usuario o se inscriba MDM.
Esto es cuando la fecha límite de MDM es una hora o menos
<string>--timerfinal</string>
<string>60</string>
Inicial del temporizador
El tiempo, en segundos, para restaurar la GUI de umad al frente de la ventana de un usuario. Esto ocurrirá indefinidamente hasta que se cierre la interfaz de usuario o se inscriba MDM.
Cuando la fecha de corte de MDM es superior a tres días.
<string>--timerinital</string>
<string>14400</string>
Temporizador MDM
El tiempo, en segundos, para verificar si el dispositivo está inscrito en MDM.
<string>--timermdm</string>
<string>5</string>
Texto del párrafo 1 de MDM aprobado por el usuario
Este es el texto del primer párrafo en la interfaz de usuario de MDM aprobada por el usuario.
<string>--uamdmparagraph1</string>
<string>Thank you for enrolling your device into MDM. We sincerely appreciate you doing this in a timely manner.</string>
Texto del párrafo 2 de MDM aprobado por el usuario
Este es el texto del segundo párrafo en la interfaz de usuario de MDM aprobada por el usuario.
<string>--uamdmparagraph2</string>
<string>Unfortunately, your device has been detected as only partially enrolled into our system.</string>
Texto del párrafo 3 de MDM aprobado por el usuario
Este es el texto del tercer párrafo sobre la interfaz de usuario de MDM aprobada por el usuario.
<string>--uamdmparagraph3</string>
<string>Please go to System Preferences -> Profiles, click on the Device Enrollment profile and click on the approve button.</string>
Ruta de captura de pantalla de MDM aprobada por el usuario
Puede personalizar la ruta de captura de pantalla de uamdm. Opción 2, simplemente reemplace el uamdm_ss.png incluido con su propio .png. Asegúrese de nombrar el .png igual que el original y vuelva a colocarlo en umad/Resources/
.
<string>--uasspath</string>
<string>/Some/Custom/Path/uamdm_ss.png</string>
Consejos, trucos y solución de problemas
-
¿Hice cambios en el LaunchAgent predeterminado y ahora la interfaz de usuario no aparece?
Asegúrese de descargar y volver a cargar LaunchAgent después de realizar cambios.
-
¿Dónde se encuentra el registro?
/Library/Application Support/umad/umad.log
-
¿Por qué no está el archivo de registro allí?
Recuerde descargar y recargar el LaunchAgent.
Créditos
Esta herramienta no sería posible sin nibbler, escrita por miguel lynn