ARD 3.9 Update - One solution using Jamf

lynnaj
New Contributor III

I'm sure many of you have already figured this out ... but ... for anyone still struggling with the ARD 3.9 update this is what ultimately worked for me.

I download the ARD 3.9 update to a mac with the command:

softwareupdate -d RemoteDesktopClient-3.9.0

This stored the downloaded package in a randomly named folder in: /Library/Updates/

From there I was able to find the RemoteDesktopClient.pkg file which I uploaded to JAMF with the Casper Admin client.

I also created a new ARD Kickstart script with:

#!/bin/sh /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent exit 0

With both the downloaded package and the script, I then created a single policy to install this package and run this script on recurring check-in once per computer with no restart required.

I have to say thanks to Apple for making this ARD update so insanely difficult. That forced me to learn a whole lot more about how to use JAMF!

  • Lynna Jackson, Williams College

PS. This all started at 9 am this morning when I fired up my older ARD 3.8 server. That forced me to update the server since the client on that mac had already been updated. No warning of the pain to come just "hey you gotta do this" .... Once the server portion was updated to ARD 3.9, none of my 350 or so 3.8 clients could be controlled. All of them listed as "Needs Update". Now wouldn't it have been nice if Apple had set up ARD 3.9 to at least let you force update your 3.8 clients but oh no that wasn't possible! The 3.8 clients were completely untouchable by the 3.9 server.

9 REPLIES 9

CapU
Contributor III

Here is a link to the 3.9 client. I just made a policy that will install on my clients on campus.
https://support.apple.com/kb/DL1909?locale=en_US

bmike
New Contributor II

We went with an all script solution and are testing it. 10 successes in a row for the initial test.

  1. Smart computer group - ARD 3.9 Update Required - Software Updates Available-EA like RemoteDesktopClient-3.9.0
  2. Policy that runs once per computer, scoped to the above smart computer group
  3. Runs the following script - basically what you, lynnaj posted earlier today:
#!/bin/sh

logger -t "Update_ARD_to_3.9" "Requesting install of RemoteDesktopClient-3.9.0"
softwareupdate -i 'RemoteDesktopClient-3.9.0'
sleep 1
logger -t "Update_ARD_to_3.9" "Requesting ARD Agent kickstart restart"
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

exit $?

The sleep 1 is probably not needed, and the logging is purely extracurricular. I did want to return the kickstart results as I would rather the script fail if the restart fails so we can remediate those systems.

Dials_Mavis
New Contributor II

FYI, for anyone crafting an extension attribute to check which version of ARDAgent is installed so as to create smart groups to scope your update policy to; The command to find the version of ARDAgent is

defaults read /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/version.plist CFBundleVersion

Note: ARDAgent 3.9 is compatible with macOS 10.10.5, 10.11.6 and 10.12.2+ so configure your smart groups appropriately.

emikesell
New Contributor

You can download the client from here also

https://support.apple.com/kb/DL1909?viewlocale=en_US&locale=en_US

lee_smith
Contributor

Does anyone have the Extension Attribute fully built?

Dials_Mavis
New Contributor II

@lee.smith

#!/bin/bash

ARD_VERS=$(/usr/bin/defaults read /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/version.plist CFBundleVersion)

if [[ -f /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/version.plist ]]; then
    if [[ -n "${ARD_VERS}" ]]; then
        result="${ARD_VERS}"
        echo "<result>${result}</result>"
    else
        echo "<result>ARD Agent version not found</result>"
    fi
else
    echo "<result>ARD Agent Not Installed</result>"
fi
exit 0

lee_smith
Contributor

@Dials_Mavis

THANK YOU!

ljsat
New Contributor

If anyone updates to 3.9 and can't control the older clients then this can be resolved by opening the Remote Desktop Preferences and enabling the 'Allow communication with older clients (less secure)' in the security tab.

listec
New Contributor III

@Dials_Mavis , great work, but I had to change CFBundleVersion to CFBundleShortVersionString to get the recognizable ARD version.

Kudos!