Crashplan Code42 6.5.2

kquan
Contributor

Hey Guys!

I have followed @spreston's method of deploying CrashPlan in a Self Service policy

However even when using the deploy.properties which does contain the URL specified, after launching the App, it does know the username, but still asks for the Server Address.

Does anyone know how to complete the autofill for the Server Address portion?459485cfbbf54628b091200ca0d32647

13 REPLIES 13

spreston
New Contributor III

The deploy.properties file is in the right place on the local workstation, correct?

kquan
Contributor

Hey Scott!

I had saved the deploy.properties file in Library/Application Support/CrashPlan/deploy.properties . The priority on that is also set to 8. The Crashplan installer is set to default at 10.

-Kevin

spreston
New Contributor III

Hmm. I have seen this happen before. Did you have any other customization in place, such as logo, etc.? Was this a fresh install or re-install, upgrade in place?

kquan
Contributor

Nope. This is a fresh install as we are planning to introduce CrashPlan!

spreston
New Contributor III

OK, that's definitely weird. One other question, you're not trying this on the same computer that you used to build the packages, right?

I'd also look in your Jamf logs to make sure the custom file was run before the app installer (although you said the priorities were set).

kquan
Contributor

Yeah, this was captured from a clean system, then deployed to another completely system. It did run the deploy.properties package first, and then ran the CrashPlan installer.

I was also chatting with someone in the macadmins jamfnation slack channel about this to see if there are any solutions. I also did notice that upon first time installing, it does get stuck on the "Connecting..." screen for a while.

mbezzo
Contributor III

Do you have a "deployment" setup in the CrashPlan console? Starting with v6.5 they completely changed how things work... Worth checking out at least. :)

Thanks,
Matt

kquan
Contributor

@mbezzo Just got my Code42 access. I'm an admin in the console, but dont see a "deployment" setup

spreston
New Contributor III

c7536946f246466995d6ef1dddae3798
This is what I see in my console. If you don't have all these tabs on 6.5 server then you may be missing a permission?

Daikonran
New Contributor III

@kquan did you come right here in the end?

kquan
Contributor

@Daikonran hey! Sorry guys for not updating!

I worked with CrashPlan support and they gave me a script to run that autofills the user's email address and due to us using ADFS(microsoft shop) they need to verify 2FA after logging on. After logging in everything works as expected!

nunezjim
New Contributor II

@Daikonran what is the script that you are using that autofills the user's email address?

Thanks,

scottlep
Contributor II

Code 42 supplies a script that pulls the email address from the Users section of Jamf Pro. For one of our MSP clients this doesn't work since they don't use AD or LDAP nor the Users component of Jamf Pro.

I re-wrote the script that Code 42 had provided so it gets the computer serial number, then gets the computer's JSS ID, then pulls an email address that is manually entered in the User and Location record of the computer's inventory. This is an email address that we manually enter. If the email address is blank in the inventory, then it will display a prompt for the user to enter their work email address, which is then passed on with the script. You of course have to add your correct API user credentials and the JSS URL to the script, which is then used in the Deployment Policy in Code 42.

#!/bin/sh

jssUser="apiuser"
jssPass="password"
jssUrl="https://jamf.blahblahblah.com:8443"
username=$(/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }')
user_email=$(curl -X GET -sku $jssUser:$jssPass -H "Accept: application/xml" $jssUrl/JSSResource/users/email_address/$username | xpath /user/email_address 2>/dev/null | sed -e 's/<email_address>//' | sed -e 's/</email_address>//')
#this will get me just the serial number
serialNumber=$(system_profiler SPHardwareDataType| awk '/Serial Number/{print $4}')

#sanity check
#echo $serialNumber

#use API to get computer ID
computerID=$(curl -sku $jssUser:$jssPass -H "Accept: application/xml" $jssUrl/JSSResource/computers/serialnumber/"$serialNumber" | xmllint --xpath 'computer/general/id/text()' -)

#sanity check
#echo $computerID

#use API to get username
user_email=$(curl -sku $jssUser:$jssPass -H "Accept: application/xml" $jssUrl/JSSResource/computers/id/"$computerID"/subset/User%2540Location | xmllint --xpath 'computer/location/email_address/text()' -)
#echo $user_email

ask () {
        osascript <<EOF - 2>/dev/null
        tell application "SystemUIServer"
        activate
        text returned of (display dialog "$1" default answer "")
        end tell
EOF
}

if [ -z "$user_email" ]; then
    name=$(ask 'IMPORTANT!!! CRASHPLAN needs your company email address to complete the installation, please fill it in to continue. Please DO NOT close this window without entering your company email address: ')
    echo "C42_USERNAME=$name"
    echo "C42_USER_HOME=$(dscl . -read "/users/$username" NFSHomeDirectory | cut -d ' ' -f 2)"
else
    echo "C42_USERNAME=${user_email}"
    echo "C42_USER_HOME=$(dscl . -read "/users/$username" NFSHomeDirectory | cut -d ' ' -f 2)"
fi