osascript ist kein unterstützender Zugriff gestattet. (-1728)

Skript:

#!/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

Wie ermögliche ich unterstützenden Zugriff auf dieses Skript? Wenn Sie dies über den „Skripteditor“ ausführen, muss lediglich der „Skripteditor“ unter „Barrierefreiheit“ in „Sicherheit und Datenschutz“ aktiviert werden.

Aber ich muss diese (und einige andere ähnliche Skriptdateien) ausführen, um ohne Eingreifen des Benutzers ausgeführt zu werden. Ich habe versucht, die Datei in den Formaten .sh, .app, .scpt, .applescript zu speichern und ohne Erfolg über das Terminal als sudo auszuführen.

Ich habe andere Fragen wie diese und andere ohne Hilfe durchgegangen.

EDIT: Danke für die Antwort Jungs. Wir haben diese Methoden bereits ausprobiert und sie funktionieren ohne Zweifel und genau hier liegt das Problem. Wir haben viel zu viele Mac-Rechner, um herumzugehen und sie manuell zu aktivieren. Wir hatten auf einen Befehl gehofft, der Terminal mit der Erlaubnis des Benutzers (ähnlich wie UAC in Windows) oder wenn möglich im Hintergrund zur Liste hinzufügt.

Antworten (3)

Wenn Sie AppleScript -Code über osascriptin Terminal ausführen, müssen Sie Terminal zu System Preferences > Security & Privacy > Privacy > Accessibility hinzufügen , um den unterstützenden Zugriff zu ermöglichen.


Ich nahm Ihren Code , speicherte ihn in einer Datei namens testcodeund machte ihn mit ausführbar chmod. Ich habe es dann im Terminal ausgeführt und folgende Fehlermeldung erhalten:

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

Ich habe dann Terminal zu Systemeinstellungen > Sicherheit & Datenschutz > Datenschutz > Zugänglichkeit hinzugefügt und es erneut ausgeführt. Anschließend wurde das Skript ordnungsgemäß verarbeitet und Folgendes zurückgegeben:

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

Es öffnete natürlich die Systemeinstellungen für dieses Ziel .

In meinem Fall war der Anrufer Alfred 3. Er wurde nicht automatisch zur Liste hinzugefügt, also fügte ich ihn einfach manuell zu Barrierefreiheit hinzu und dann funktionierte mein Skriptaufruf.
Ich habe den gleichen Fehler, obwohl ich das Terminal in Sicherheit und Datenschutz habe
In meinem Fall habe ich tmux verwendet, also musste ich tmux zusammen mit allen anderen Vorschlägen hier zur Barrierefreiheitsliste hinzufügen. Grundsätzlich müsste jeder Prozess, der ein "Elternteil" der Terminalumgebung ist, hinzugefügt werden.

Ich habe eine Fehlermeldung erhalten 636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719), obwohl ich den osascriptBefehl von iTerm 2 ausgeführt habe, das sich auf der Liste der Anwendungen in „Systemeinstellungen > Sicherheit und Datenschutz > Datenschutz > Eingabehilfen“ befand.

Ich habe den Fehler nicht mehr erhalten, nachdem ich auch die Systemereignisse-Anwendung (in /System/Library/CoreServices/) zu dieser Liste hinzugefügt habe.

Überraschend, dass das funktioniert hat. Ich wünschte, ich wüsste warum. Ich habe zuerst alle anderen offensichtlicheren Anwendungen hinzugefügt ... ohne Erfolg.
Du bist mein Lebensretter.

Der entscheidende Punkt in der verlinkten Antwort ist :

Wenn Sie die LaunchAgents zum ersten Mal laden oder ausführen, werden Sie aufgefordert, den unterstützenden Zugriff in den Systemeinstellungen festzulegen. Wenn Sie die Systemeinstellungen bereits geöffnet haben, wird dies nicht der Fall sein, aber die Skript-Textdatei wird der Liste hinzugefügt.

Sie müssen jetzt nur noch das Kontrollkästchen aktivieren, um es zuzulassen.

Schritt 1 besteht darin, die Registerkarte Sicherheit zu öffnen und Ihrer Skript-App oder den einzelnen Skripts die Berechtigung zu erteilen, die Schnittstelle zu automatisieren.

Geben Sie hier die Bildbeschreibung ein

Schritt 2 - Profitieren und Fehler vermeiden -1728

Leider funktioniert dies bei mir mit einem LaunchAgent nicht, meine Protokolle werden angezeigt execution error: System Events got an error: osascript is not allowed assistive access. (-1719)und ich werde von den Systemeinstellungen nicht aufgefordert, den unterstützenden Zugriff zuzulassen. macOS 10.12.6
Versuchen Sie auch, osascript zu "Assistive Access" hinzuzufügen – zumindest intern behandelt AppleScript "osascript" NICHT einfach als einen Befehl, sondern als einen eigenen Prozess. . . . Fügen Sie folgenden Code in den ScriptEditor ein: . . . 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'". . . und Sie sehen eine Liste von (leider nicht "getrennten") Prozessen mit "osascript" am Ende.