Posted on 01-19-2018 02:18 AM
Hello,
At the moment I'm facing some troubles with a script. I want to uninstall the EndPointProtector from CoSoSys.
They provide a remove script, which I want to start from a JSS script. The problem: you have to enter a pre-defined uninstall password. How could I pass this from my script to the other script?
I already tried something like this:
#The uninstall password
unpw="xxxxxx"
#This calls the EPP uninstaller script
cd /Library/CoSoSys/EndpointProtector/
echo "$unpw
" | ./remove-epp
But it didn't worked. I guess the problem is "remove-epp" is no command but an other script, so basically my script hands over the string to the launch command of the other script but not to the input method inside this remove-eps script...
Any ideas how I could solve this? It causes a lot of troubles right now for us....
Solved! Go to Solution.
Posted on 01-19-2018 05:06 AM
@mkolb
you might want to look at expect or passing the info via EOF.
Below is an example of how I used it in a self-destructing script to enroll via command line a few years ago:
#!/bin/sh
sudo jamf enroll -prompt << EOF
jssacountuser
jssacountuserpassword
localsshaccount
localsshaccountpassword
sleep 5
rm "$0"
Posted on 01-19-2018 05:06 AM
@mkolb
you might want to look at expect or passing the info via EOF.
Below is an example of how I used it in a self-destructing script to enroll via command line a few years ago:
#!/bin/sh
sudo jamf enroll -prompt << EOF
jssacountuser
jssacountuserpassword
localsshaccount
localsshaccountpassword
sleep 5
rm "$0"
Posted on 01-19-2018 05:56 AM
hi,
Thank you @Nix4Life ! I was able to solve this with expect. Thank you for the hint!
Posted on 11-02-2020 10:25 AM
@mkolb Do you mind sharing what you did here using expect?
Posted on 10-14-2021 10:17 AM
@mkolb I would love to know the answer to this as well.
Posted on 10-15-2021 01:44 AM
@markopolo / @rob_c28
Sure! This is how it worked in the end:
expect <(cat <<'EOD'
spawn "./remove-epp"
expect "Please enter your password for uninstall protection:" {send "####\r"}
EOD
)
The spawn command starts the actual remove-script. At some point this remove-script will present the string "Please enter your password for uninstall protection:" in the terminal. The expect command is looking for exactly this string (you have to make sure, what ever dialog is showing up, you copy it 1:1 and case sensitive). With the send command you then can define which string should be "typed". The # represents the actual password, the \r represents pressing enter after "typing" the string.
Hope this helps!