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.
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 testcode
y 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 .
Recibí un error 636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719)
aunque ejecuté el osascript
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 que también agregué la aplicación Eventos del sistema (en /System/Library/CoreServices/
) a esa lista.
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.
Paso 2: obtenga ganancias y evite el error -1728
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.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 el final.
cris redford
Kevin
ben davis