osascript non è consentito l'accesso assistivo. (-1728)

10

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

Come posso fornire l'accesso assistivo a questo script? Quando si esegue questo tramite 'Script Editor', tutto ciò di cui ha bisogno è 'Script Editor' per essere abilitato in 'Accessibilità' in 'Sicurezza & Privacy'.

Ma ho bisogno di eseguire questo (e altri file di script simili) per essere eseguito senza l'intervento dell'utente. Ho provato a salvare il file nei formati .sh, .app, .scpt, .applescript ed eseguito via terminale come sudo senza fortuna.

Ho seguito altre domande come questo e altro senza alcun aiuto.

EDIT: Grazie per la risposta ragazzi. Abbiamo già provato questi metodi e funzionano senza alcun dubbio e questo è il problema. Abbiamo troppe macchine mac per aggirarle e attivarle manualmente. Speravamo in qualche comando che aggiungesse Terminal alla lista con il permesso dell'utente (un po 'come UAC in Windows) o, se possibile, in silenzio.

    
posta John Shepard 21.07.2017 - 13:56
fonte

2 risposte

6

Se esegui AppleScript codice tramite osascript in Terminale , devi aggiungere Terminale a Preferenze di sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità , per consentire l'accesso assistivo.

Ho preso il tuo codice , l'ho salvato in un file chiamato testcode e lo ho reso eseguibile usando chmod . L'ho poi eseguito in Terminale e ho ricevuto il seguente errore:

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

Ho quindi aggiunto Terminale a Preferenze di sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità e lo ha eseguito di nuovo. Ha quindi elaborato correttamente lo script e ha restituito:

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

Ovviamente ha aperto le Preferenze di Sistema a quel target .

    
risposta data 21.07.2017 - 16:52
fonte
1

Il punto chiave nella risposta collegata è :

When you first load or run the LaunchAgents you will get a prompt to set the Assistive Access in System Preferences. If you already have System preferences open you will not but the Script text file will be added to the list.

You now just have to check its check box to allow it.

Il passaggio 1 consiste nell'aprire la scheda di sicurezza e consentire all'app di script o ai singoli script di autorizzare l'interfaccia.

Passaggio 2: guadagna ed evita l'errore -1728

    
risposta data 21.07.2017 - 20:51
fonte

Leggi altre domande sui tag