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

Guion:

#!/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 del 'Editor de secuencias de comandos', todo lo que necesita es habilitar el 'Editor de secuencias de comandos' en 'Accesibilidad' en 'Seguridad y privacidad'.

Pero necesito ejecutar esto (y algunos otros archivos de script similares) para que se ejecuten sin la intervención del usuario. Intenté guardar el archivo en formatos .sh, .app, .scpt, .applescript y ejecutarlo a través de la 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 dar la vuelta 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.

Respuestas (3)

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


Tomé su código , lo guardé en un archivo llamado testcodey lo hice ejecutable usando chmod. Luego lo ejecuté en la 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 y privacidad > Privacidad > Accesibilidad y lo ejecuté nuevamente. Luego procesó el script correctamente y 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 .

En mi caso, la persona que llamó fue Alfred 3. No se agregó a la lista automáticamente, así que simplemente lo agregué manualmente a Accesibilidad y luego funcionó mi llamada de secuencia de comandos.
Tengo el mismo error aunque tengo terminal en Seguridad y Privacidad
En mi caso, estaba usando tmux, así que tuve que agregar tmux a la lista de accesibilidad junto con todas las demás sugerencias aquí. Básicamente, sería necesario agregar cualquier proceso que sea un "principal" del entorno de la terminal.

Recibí un error 636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719)aunque ejecuté el osascriptcomando 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 que también agregué la aplicación Eventos del sistema (en /System/Library/CoreServices/) a esa lista.

Sorprendente que esto funcionó. Ojalá supiera por qué. Primero agregué todas las otras aplicaciones más obvias... sin éxito.
Eres mi salvavidas.

El punto clave en la respuesta vinculada es :

Cuando cargue o ejecute LaunchAgents 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 su aplicación de secuencias de comandos o las secuencias de comandos individuales automaticen la interfaz.

ingrese la descripción de la imagen aquí

Paso 2: obtenga ganancias y evite el error -1728

Desafortunadamente, esto en realidad no funciona para mí con un LaunchAgent, mis registros se muestran 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. mac OS 10.12.6
Intente agregar también osascript a "Acceso de asistencia": al menos internamente, AppleScript trata a "osascript" NO como un simple comando, sino como un proceso propio. . . . Pegue el siguiente código en ScriptEditor: . . . tell 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 el final.