Skip to main content
Solved

OSAScript Errors

  • August 12, 2020
  • 1 reply
  • 0 views

Forum|alt.badge.img+4

Hi All, hoping for some help here. Looking to frankenstein together a script to add our admin account to FV2 as an enabled user. I've got a script that is currently working under the following conditions:

Running locally in terminal
Running manually from Self Service

It is not working when running automatically via JAMF policy. That is my goal at this point.

The script is here:

!/bin/sh

Add ADMIN ACCOUNT to FV2.sh

userName=$(/usr/bin/stat -f%Su /dev/console)
prefix='SECRET HERE'
pass=$prefix

Get the logged in user's password via a prompt

echo "Prompting ${userName} for their login password."
userPass="$(/usr/bin/osascript -e 'Tell current application to display dialog "Please enter your login password:" default answer "" with title "ADMIN ACCOUNT FileVault 2 Key Escrow" with text buttons {"Ok"} default button 1 with hidden answer' -e 'text returned of result')"

echo "Adding ADMIN ACCOUNT to FileVault"

This "expect" block will populate answers for the fdesetup prompts that normally occur while hiding them from output

expect -c "
log_user 0
spawn fdesetup add -usertoadd ADMIN ACCOUNT
expect "Enter the user name:"
send "${userName}"
expect "Enter the password for user '${userName}':"
send "${userPass}"
expect "Enter the password for the added user 'ADMIN ACCOUNT':"
send "${pass}"
log_user 1
expect eof
"
expect -c "
log_user 0
spawn fdesetup changerecovery -personal
expect "Enter the user name:"
send "${userName}"
expect "Enter the password for user '${userName}':"
send "${userPass}"
log_user 1
expect eof
"

exit 0

The error that is being thrown in JAMF is here:

Script result: Prompting joshfischer for their login password.
2020-08-12 12:10:24.539 osascript[10912:277821] -[NSCFConstantString objectAtIndex:]: unrecognized selector sent to instance 0x7fff9153d0e0
2020-08-12 12:10:24.544 osascript[10912:277821]
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFConstantString objectAtIndex:]: unrecognized selector sent to instance 0x7fff9153d0e0'
First throw call stack:
( 0 CoreFoundation 0x00007fff39d0ab57 exceptionPreprocess 250 1 libobjc.A.dylib 0x00007fff729b85bf objc_exception_throw 48 2 CoreFoundation 0x00007fff39d89be7 -[NSObject(NSObject) _retain_OA] 0 3 CoreFoundation 0x00007fff39c6f3bb ___forwarding 1427 4 CoreFoundation 0x00007fff39c6ed98 CF_forwarding_prep_0 120 5 CoreFoundation 0x00007fff39c3ded7 CFArrayContainsValue 197 6 HIServices 0x00007fff37f447b9 TransformProcessType 927 7 osascript 0x000000010e1ef02c osascript 12332 8 HIToolbox 0x00007fff389597c5 AEInteractWithUser 53 9 StandardAdditions 0x00000001126838b9 CSDSTEXTurl 5865 10 StandardAdditions 0x0000000112674331 AEVTsysodlog 85 11 AE 0x00007fff3b001203 _AppleEventsCheckInAppWithBlock 18103 12 AE 0x00007fff3b010c83 AESendMessage 2838 13 AE 0x00007fff3b01cfb1 aeSend 355 14 osascript 0x000000010e1edb25 osascript 6949 15 AppleScript 0x00007fff4d99d342 _Z13ComponentSendPK6AEDescPS_ii 485 16 AppleScript 0x00007fff4d9aef0a _ZN15TUASApplication4SendEP25TStackFrame_UASRemoteSendP6AEDescS3_hhh 2332 17 AppleScript 0x00007fff4d9cfca7 _Z13UASRemoteSendhhhhhPh 548 18 AppleScript 0x00007fff4d9db402 _Z13UASValue_Sendhh14TUASClassIndexh 326 19 AppleScript 0x00007fff4d9b2ff9 _Z11UASExecute1v 288 20 AppleScript 0x00007fff4d986b26 _Z14ASExecuteEventPK6AEDescjiPj 614 21 AppleScript 0x00007fff4d97f971 AppleScriptComponent 1677 22 AppleScript 0x00007fff4d998bdb _ZN12AGenericCall8DelegateEP23ComponentInstanceRecord 37 23 AppleScript 0x00007fff4d998ba1 _ZN15AGenericManager13HandleOSACallEP19ComponentParameters 57 24 AppleScript 0x00007fff4d99818c GenericComponent 156 25 OpenScripting 0x00007fff38b9c3e2 OSAExecuteEvent 50 26 osascript 0x000000010e1ee5bd osascript 9661 27 libdyld.dylib 0x00007fff73b60cc9 start 1 28 ??? 0x0000000000000005 0x0 5
)
libc
+abi.dylib: terminating with uncaught exception of type NSException

I have a PPPC for OSA Script applied and for Terminal. Unsure where to go from here....please help!

Best answer by josh_fischer

I seem to have found an answer with the help of a colleague...changing userPass="$(/usr/bin/osascript -e 'Tell current application to display dialog "Please enter your login password:" default answer "" with title "ADMIN ACCOUNT FileVault 2 Key Escrow" with text buttons {"Ok"} default button 1 with hidden answer' -e 'text returned of result')" to userPass="$(/usr/bin/osascript -e 'Tell application "system events" to display dialog "Please enter your login password:" default answer "" with title "ADMIN ACCOUNT FileVault 2 Key Escrow" with text buttons {"Ok"} default button 1 with hidden answer' -e 'text returned of result')" seems to have worked

View original
Did this topic help you find an answer to your question?

1 reply

Forum|alt.badge.img+4
  • Author
  • New Contributor
  • 1 reply
  • Answer
  • August 12, 2020

I seem to have found an answer with the help of a colleague...changing userPass="$(/usr/bin/osascript -e 'Tell current application to display dialog "Please enter your login password:" default answer "" with title "ADMIN ACCOUNT FileVault 2 Key Escrow" with text buttons {"Ok"} default button 1 with hidden answer' -e 'text returned of result')" to userPass="$(/usr/bin/osascript -e 'Tell application "system events" to display dialog "Please enter your login password:" default answer "" with title "ADMIN ACCOUNT FileVault 2 Key Escrow" with text buttons {"Ok"} default button 1 with hidden answer' -e 'text returned of result')" seems to have worked


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings