Posted on 08-12-2020 09:59 AM
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:
userName=$(/usr/bin/stat -f%Su /dev/console)
prefix='SECRET HERE'
pass=$prefix
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"
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!
Solved! Go to Solution.
Posted on 08-12-2020 10:51 AM
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
Posted on 08-12-2020 10:51 AM
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