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 โดยไม่มีโชค

ฉันเคยผ่านคำถามอื่น ๆ เช่นนี้และอื่น ๆ โดยไม่มีความช่วยเหลือ

แก้ไข: ขอบคุณสำหรับคำตอบพวก เราได้ลองใช้วิธีการเหล่านี้แล้วและทำงานได้อย่างไม่ต้องสงสัยและเป็นปัญหาที่เกิดขึ้น เรามีวิธีเครื่องแม็คจำนวนมากเกินไปที่จะไปไหนมาไหนและเปิดใช้งานด้วยตนเอง เราหวังว่าจะมีคำสั่งบางอย่างที่จะเพิ่มเทอร์มินัลลงในรายการโดยได้รับอนุญาตจากผู้ใช้ (เช่น UAC ใน Windows) หรือหากเป็นไปได้อย่างเงียบ ๆ

คำตอบ:


13

ถ้าคุณเรียกใช้AppleScript รหัสผ่าน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

แน่นอนว่ามันเปิดการตั้งค่าระบบไปยังเป้าหมายนั้น


ในกรณีของฉันผู้โทรคืออัลเฟรด 3 มันไม่ได้รับการเพิ่มลงในรายการโดยอัตโนมัติดังนั้นฉันเพิ่งเพิ่มมันเข้าไปในการเข้าถึงด้วยตนเองแล้วโทรสคริปต์ของฉันทำงาน
Chris Redford

3
ฉันมีข้อผิดพลาดเดียวกันถึงแม้ว่าฉันจะมีเทอร์มินัลในความปลอดภัยและความเป็นส่วนตัว
Kevin

5

ฉันพบข้อผิดพลาด636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719)แม้ว่าฉันจะรันosascriptคำสั่งจาก iTerm 2 ซึ่งอยู่ในรายการแอปพลิเคชันใน "การตั้งค่าระบบ> ความปลอดภัยและความเป็นส่วนตัว> ความเป็นส่วนตัว> การเข้าถึง"

ฉันหยุดรับข้อผิดพลาดหลังจากเพิ่มแอปพลิเคชัน System Events (ใน/System/Library/CoreServices/) ลงในรายการนั้น


น่าแปลกใจที่สิ่งนี้ใช้ได้ผล หวังว่าฉันจะรู้ว่าทำไม ฉันเพิ่มแอปพลิเคชันอื่น ๆ ที่ชัดเจนกว่าทั้งหมดก่อน ... เพื่อประโยชน์
Del Brown

คุณคือผู้ช่วยชีวิตของฉัน
alswl

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 ไปที่ "Assistive Access" - อย่างน้อยก็ภายใน AppleScript ถือว่า "osascript" ไม่ใช่เพียงแค่คำสั่ง แต่เป็นกระบวนการของตัวเอง . . . วางรหัสต่อไปนี้ใน 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'". . . และคุณจะเห็นรายการกระบวนการ (ไม่น่าเศร้า "delimetered") ที่มี "osascript" ในตอนท้าย
clemsam lang
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.