UMAD (Slack de macadmin #umad) - KolMitE

UMAD (Slack de macadmin #umad)

UMAD (Slack de macadmin #umad)

diciembre 14, 2022 Software en General 0

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

DEP de captura de pantalla

Manual

Manual de captura de pantalla

UAMDM

Captura de pantalla UAMDM

Diagrama simplificado

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



Por favor Comparte y Síguenos:
RSS
Follow by Email
Facebook
Twitter

Deja una respuesta