osascript는 보조 액세스가 허용되지 않습니다. (-1728)


16

스크립트:

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

이 스크립트에 대한 보조 액세스를 어떻게 제공합니까? '스크립트 편집기'를 통해이를 실행할 때 필요한 것은 '보안 및 개인 정보'의 '접근성'에서 '스크립트 편집기'를 활성화하는 것입니다.

그러나 사용자의 개입 없이이 (및 다른 유사한 스크립트 파일)를 실행해야합니다. 파일을 .sh, .app, .scpt, .applescript 형식으로 저장하려고 시도했지만 운이 없어도 sudo로 터미널을 통해 실행했습니다.

나는 도움 없이 이와 같은 다른 질문을 겪었습니다 .

편집 : 응답을 주셔서 감사합니다. 우리는 이미 이러한 방법을 시도했으며 의심의 여지없이 작동하며 문제가있는 곳입니다. 우리는 너무 많은 Mac 컴퓨터를 둘러보고 수동으로 활성화했습니다. 우리는 사용자의 허가 (Windows의 UAC와 같은 종류) 또는 가능한 경우 자동으로 목록에 터미널을 추가하는 명령을 원했습니다.

답변:


13

당신이 실행하는 경우 애플 스크립트 코드를 통해 osascript터미널 , 당신은 추가 할 필요가 터미널시스템 환경 설정 > 보안 및 개인 정보 > 개인 정보 보호 > 접근성 이 보조 액세스 할 수 있도록.


코드를 가져 와서 이름이 지정된 파일로 저장하고를 testcode사용하여 실행 가능하게 만들었습니다 chmod. 그런 다음 터미널 에서 실행 하고 다음 오류가 발생했습니다.

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

그런 다음 시스템 환경 설정 > 보안 및 개인 정보 보호 > 개인 정보 보호 > 접근성터미널 을 추가 하고 다시 실행했습니다. 그런 다음 스크립트를 올바르게 처리하고 다음을 리턴했습니다.

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

물론 해당 대상에 대한 시스템 환경 설정 을 열었습니다 .


필자의 경우 호출자는 Alfred 3이었습니다. 목록에 자동으로 추가되지 않았기 때문에 수동으로 접근성에 수동으로 추가 한 다음 스크립트 호출이 작동했습니다.
크리스 레드포드

3
보안 및 개인 정보 보호에 터미널이 있지만 동일한 오류가 발생합니다
Kevin

5

"시스템 환경 설정> 보안 및 개인 정보> 개인 정보> 손쉬운 사용"의 응용 프로그램 목록에있는 iTerm 2 636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719)에서 osascript명령을 실행했지만 오류가 발생했습니다 .

/System/Library/CoreServices/해당 목록 에 시스템 이벤트 애플리케이션 ( )을 추가 한 후에도 오류가 발생하지 않았습니다 .


이것이 효과가 있다는 것을 놀라게했습니다. 왜 그런지 알았 으면 좋겠다. 다른 더 명백한 응용 프로그램을 먼저 추가했습니다 ... 소용이 없습니다.
Del Brown

당신은 내 생명의 은인입니다.
alswl 2019

1

링크 된 답변핵심은 다음과 같습니다.

LaunchAgents를 처음로드하거나 실행할 때 시스템 환경 설정에서 보조 액세스를 설정하라는 프롬프트가 표시됩니다. 이미 시스템 환경 설정이 열려 있으면 스크립트 텍스트 파일이 목록에 추가되지 않습니다.

이제 확인란을 선택하여 허용해야합니다.

1 단계는 보안 탭을 열고 스크립트 앱 또는 개별 스크립트 권한이 인터페이스를 자동화 할 수 있도록 허용하는 것입니다.

여기에 이미지 설명을 입력하십시오

2 단계-이익과 오류 방지 -1728


1
불행히도 실제로는 LaunchAgent에서 작동하지 않으며 내 로그 execution error: System Events got an error: osascript is not allowed assistive access. (-1719)가 표시되며 시스템 환경 설정에 의해 보조 액세스를 허용하라는 메시지가 표시되지 않습니다. macOS 10.12.6
swrobel

"보조 액세스"에 osascript도 추가하십시오 - 적어도 내부적으로 "osascript"AppleScript로 취급 하지 단순히 명령하지만, 자신의 프로세스로. . . . 다음 코드를 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'". . . 그리고 "osascript"가 끝날 때까지 슬프게도 "분할되지 않은"프로세스 목록이 표시됩니다.
clemsam lang
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.