osascript no está permitido el acceso de asistencia. (-1728)

9

Script:

#!/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? Cuando se ejecuta esto a través del 'Editor de secuencias de comandos', todo lo que necesita es 'Editor de secuencias de comandos' para habilitarse en 'Accesibilidad' en 'Seguridad & Privacidad '.

Pero necesito ejecutar esto (y algunos otros archivos de script similares) para ejecutarse 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 this y otros 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 poder activarlas manualmente. Esperábamos algún comando que agregue Terminal a la lista con el permiso del usuario (como UAC en Windows) o, si es posible, en silencio.

    
pregunta John Shepard 21.07.2017 - 13:56

2 respuestas

6

Si ejecuta AppleScript código a través de osascript en Terminal , debe agregar Terminal a Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad , para permitirle acceso de asistencia.

Tomé su código , lo guardé en un archivo llamado testcode y lo hice ejecutable usando chmod . Luego lo ejecuté en Terminal y recibí el siguiente error:

./testcode:157:286: execution error: System Events got an error: osascript is not allowed assistive access. (-1728)

Luego agregué Terminal a Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad y lo ejecutó de nuevo. Luego procesó el script correctamente y lo devolvió:

radio button Login Items of tab group 1 of window Users & Groups of application process System Preferences

Por supuesto, abrió las Preferencias del sistema para ese objetivo .

    
respondido por el user3439894 21.07.2017 - 16:52
1

El punto clave en la respuesta vinculada es :

  

Cuando cargue o ejecute los Agentes de inicio por primera vez, recibirá un mensaje para configurar el Acceso de asistencia en las Preferencias del sistema. Si ya tiene abiertas las preferencias del sistema, no lo hará, pero el archivo de texto Script se agregará a la lista.

     

Ahora solo tiene que marcar su casilla de verificación para permitirlo.

El paso 1 es abrir la pestaña de seguridad y permitir que tu aplicación de script o el permiso de scripts individuales automaticen la interfaz.

Paso 2 - obtener ganancias y evitar el error -1728

    
respondido por el bmike 21.07.2017 - 20:51

Lea otras preguntas en las etiquetas