Mi objetivo es utilizar la utilidad Apple Configurator 2 para crear información del sistema sobre los iPad y iPhones que compro y rápidamente poner esta información en mi base de datos. Hasta ahora esto se ha hecho con un montón de pegado y copiado tedioso y propenso a errores.
Me he encontrado con algunas soluciones de scripting que pueden ayudar a automatizar esto enormemente. Principalmente utilizo Python a diario y tengo un poco de problemas al "unir los puntos" con AppleScript.
Hay algunos ejemplos de cómo AppleScript y las herramientas de línea de comandos del Configurador funcionan en enlace . Todo aquí viene de esos ejemplos.
He hecho todo lo posible para unir dos scripts de muestra para que todos los dispositivos conectados de un tipo particular (iPad) en este caso puedan tener información específica sobre los números de serie, IMEI, tipo de dispositivo, etc. que luego puedan extraerse en Python.
tell script "Configuration Utility"
-- get info for connected devices of the specified type
copy CNFGdevicesMatchingSpecifiedClass("iPad", false) to ¬
{deviceCount ¬
, propertyTitles ¬
, theseDeviceECIDs ¬
, theseDeviceClasses ¬
, theseDeviceTypes ¬
, theseDeviceNames}
-- process devices
repeat with i from 1 to the deviceCount
set thisECID to item i of theseDeviceECIDs
try
tell script "Configuration Utility"
set thisProperty to "deviceType"
set currentPropertyValue to CNFGspecifiedPropertyValueForSpecifiedDevice(thisProperty, thisECID)
end tell
on error errorMessage
display alert "ERROR" message errorMessage buttons {"Cancel"} cancel button 1
end try
end repeat
Esto imprime de nuevo el "tipo de dispositivo" como "" iPad5,3 "en mi ejemplo.
Por supuesto, esto solo funcionará en una clase de dispositivo (iPad o iPhone) en un momento dado. Preferiría que pudiera manejar todos los dispositivos conectados.
Aquí hay otro script que imprimirá los "ECID" de todos los dispositivos conectados, independientemente del tipo. Una ECID es algo similar a un número de serie.
try
tell script "Configuration Utility"
set theseECIDs to CNFGdeviceECIDs()
end tell
on error errorMessage
display alert "ERROR" message errorMessage buttons {"Cancel"} cancel button 1
end try
¿Cómo puedo hacer que el primer script se comporte como el segundo y devolver información específica del sistema para todos los dispositivos conectados a mi Mac?
Gracias.