2

I am trying to unlock the System Preferences using applescript.

I have managed to get my script to click the "Click the lock to make changes" part, and I was trying to get the applescript to enter the user name, but I keep getting the error

error "System Events got an error: Can’t get window 1 of process \"SecurityAgent\". Invalid index." number -1719 from window 1 of process "SecurityAgent"

Here is my code, can anyone give me a hand?

activate application "System Preferences"
tell application "System Events"
    set preferencesLocked to false
    tell process "System Preferences"
        delay 1
        click menu item "Security & Privacy" of menu "View" of menu bar 1
        delay 2.5
        if title of button 4 of window 1 is "Click the lock to make changes." then
            set preferencesLocked to true
            click button "Click the lock to make changes." of window 1
        end if
    end tell
    if preferencesLocked is true then
        delay 2.5
        activate application "SecurityAgent"
        tell application "System Events"
            tell process "SecurityAgent"
                set value of text field 1 of scroll area 1 of group 1 of window 1 to "username"
            end tell
        end tell
    end if
end tell

Please help. Thank you.

4

2 に答える 2

4

これは、System Events の「キーストローク」コマンドを使用してパスワードを入力することで実行できます。Yosemite バージョン (UI 要素が移動しました):

set thePW to "MY_PASSWORD"
set thePane to "Security & Privacy"

activate application "System Preferences"
delay 1
tell application "System Events"
    tell process "System Preferences"
        click menu item thePane of menu "View" of menu bar 1
        delay 3
        if title of button 1 of window 1 is "Click the lock to make changes." then
            click button 1 of window 1
            delay 2
            keystroke thePW
            keystroke return
        end if
    end tell
end tell
于 2015-05-18T17:59:15.567 に答える
-1

認証ダイアログは、OS X では特別なものです。少なくともキーロガーが読み取れない安全な方法で実装されています。

これの副作用として、また潜在的なセキュリティ ホールを導入するように思われるため、スクリプトが可能であるとしたら、私は驚くでしょう。

だからあなたはおそらく運が悪いです、ごめんなさい。

于 2011-09-26T02:07:56.580 に答える