ऑसस्क्रिप्ट को सहायक पहुंच की अनुमति नहीं है। (-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

मैं इस स्क्रिप्ट की सहायक पहुँच कैसे प्रदान करूँ? Running स्क्रिप्ट एडिटर ’के माध्यम से इसे चलाने के दौरान, इसे Script सिक्योरिटी एंड प्राइवेसी’ में ibility एक्सेसिबिलिटी ’के तहत सक्षम करने के लिए 'स्क्रिप्ट एडिटर’ की आवश्यकता होती है।

लेकिन मुझे उपयोगकर्ता के हस्तक्षेप के बिना निष्पादित करने के लिए इसे (और कुछ अन्य समान स्क्रिप्ट फ़ाइलों को) चलाने की आवश्यकता है। मैंने फ़ाइल को .sh, .app, .scpt, .applescript स्वरूपों में सहेजने की कोशिश की है और टर्मिनल के माध्यम से सुडोकू के रूप में बिना किसी भाग्य के चला रहा हूं।

मैं इस तरह के और अन्य सवालों के बिना किसी भी मदद के माध्यम से चला गया हूँ ।

संपादित करें: प्रतिक्रिया लोगों के लिए धन्यवाद। हमने पहले से ही इन विधियों को आजमाया है और वे बिना किसी संदेह के काम करते हैं और यही समस्या है। हमने कई मैक मशीनों को चारों ओर जाने और उन्हें मैन्युअल रूप से सक्षम करने का तरीका दिया है। हम कुछ कमांड के लिए उम्मीद कर रहे थे जो उपयोगकर्ता की अनुमति के साथ सूची में टर्मिनल जोड़ देगा (विंडोज में यूएसी की तरह) या यदि संभव हो तो चुपचाप।

जवाबों:


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 था। यह स्वचालित रूप से सूची में नहीं जोड़ा जा रहा था इसलिए मैंने इसे मैन्युअल रूप से एक्सेसिबिलिटी में जोड़ दिया और फिर मेरी स्क्रिप्ट कॉल ने काम किया।
क्रिस रेडफोर्ड

3
मेरे पास एक ही त्रुटि है, हालांकि मेरे पास सुरक्षा और गोपनीयता में टर्मिनल है
केविन

5

636:751: execution error: System Events got an error: osascript is not allowed assistive access. (-1719)भले ही मुझे osascriptiTerm 2 से कमांड मिली, जो "सिस्टम प्रेफरेंस> सिक्योरिटी एंड प्राइवेसी> प्राइवेसी> एक्सेसिबिलिटी" में एप्लिकेशन की सूची में होने के बावजूद मुझे एक त्रुटि मिली ।

/System/Library/CoreServices/उस सूची में सिस्टम ईवेंट्स एप्लिकेशन (इन ) को जोड़ने के बाद मुझे त्रुटि मिलना बंद हो गई।


हैरानी की बात है कि यह काम किया। काश मुझे पता होता कि क्यों। मैंने अन्य सभी अधिक स्पष्ट एप्लिकेशन पहले जोड़े ... कोई फायदा नहीं हुआ।
डेल ब्राउन

तुम मेरे जीवन-रक्षक हो।
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
निगल

"असिस्टिव एक्सेस" में ऑसस्क्रिप्ट को भी जोड़ने का प्रयास करें - कम से कम आंतरिक रूप से, 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'"। । । और आप इसके अंत की ओर "ऑसस्क्रिप्ट" के साथ (उदास रूप से "विलंबित") प्रक्रियाओं की सूची नहीं देखेंगे।
क्लेम्सम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.