Guión:
#!/usr/bin/osascript
tell application "System Preferences"
activate
set current pane to pane "com.apple.preferences.users"
delay 2
tell application "System Events"
click radio button "Login Items" of tab group 1 of window "Users & Groups" of application process "System Preferences"
end tell
end tell
¿Cómo proporciono acceso de asistencia a este script? Al ejecutar esto a través de 'Script Editor', todo lo que necesita es 'Script Editor' para habilitarse en 'Accesibilidad' en 'Seguridad y privacidad'.
Pero necesito ejecutar esto (y algunos otros archivos de script similares) para ejecutarlo sin la intervención del usuario. He intentado guardar el archivo en formatos .sh, .app, .scpt, .applescript y ejecutarlo a través de terminal como sudo sin suerte.
He pasado por otras preguntas como esta y otras sin ninguna ayuda.
EDITAR: Gracias por la respuesta chicos. Ya hemos probado estos métodos y funcionan sin ninguna duda y ahí es donde radica el problema. Tenemos demasiadas máquinas Mac para activarlas y habilitarlas manualmente. Esperábamos algún comando que agregara Terminal a la lista con el permiso del usuario (algo así como UAC en Windows) o si es posible en silencio.
fuente
Recibí un error como
636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719)
si ejecutara elosascript
comando de iTerm 2 que estaba en la lista de aplicaciones en "Preferencias del sistema> Seguridad y privacidad> Privacidad> Accesibilidad".Dejé de recibir el error después de agregar también la aplicación System Events (in
/System/Library/CoreServices/
) a esa lista.fuente
El punto clave en la respuesta vinculada es :
El paso 1 es abrir la pestaña de seguridad y permitir que su aplicación de script o el permiso de los scripts individuales automaticen la interfaz.
Paso 2: obtenga ganancias y evite el error -1728
fuente
execution error: System Events got an error: osascript is not allowed assistive access. (-1719)
y las Preferencias del sistema no me solicitan que permita el acceso de asistencia. macOS 10.12.6tell application "System Events" to do shell script "osascript -e 'tell application \"System Events\"\n display dialog (items of (name of (every process whose name contains \"sc\") as list) as string)\n end tell'"
. . . y verá una lista de procesos (lamentablemente no "delimitados") con "osascript" hacia su final.