Apple Enterprise Connect Configuration

We’ve been using Apple’s Enterprise Connect here instead of the popular NoMAD app as part of our Active Directory integration. It’s about time we used a proper configuration profile for it instead of manually making changes to the plist at com.apple.Enterprise-Connect.

Specifically, we’d like to make sure that users are not able to just quit the app whenever they want. We’ll build our config profile to target the com.apple.Enterprise-Connect payload with the following mcx preferences:

<key>mcx_preference_settings</key>
<dict>
<key>adRealm</key>
<string>FQDN</string>
<key>disableQuitMenu</key>
<true/>
<key>launchAtLogin</key>
<true/>
<key>passwordExpireOverride</key>
<integer>90</integer>
<key>pwReqComplexity</key>
<true/>
<key>pwReqLength</key>
<integer>12</integer>
<key>pwReqText</key>
<string>/usr/local/wba/passwd_req_text.rtf</string>
<key>syncLocalPassword</key>
<true/>
</dict>

The pwReqText key above will display a friendly message to the user with the password requirement rules whenever they initiate a password change.

Displaying password requirements to the user.

The syncLocalPassword key will allow local users to sync the AD password to their login keychain.

Password sync window

We’ll leverage Apple’s own installer package to push out the latest version of Enterprise Connect along with our custom config profile. To do so, we’ll break apart their installer with pkgutil --expand. Within the expanded pkg, there’s a postinstall script inside a postinstall_actions folder. We’ll make changes at the end of this file to add our config profile.

Inside the EnterpriseConnect package.
Additional postinstall script inside postinstall_actions folder

Our install action can look like this:

# check os version and install config profile
os_vers=$(sw_vers -productVersion | cut -d '.' -f2)
if [ $os_vers -ge '13' ]; then
profiles install -path /tmp/EnterpriseConnect.mobileconfig
else
profiles -I -F /tmp/EnterpriseConnect.mobileconfig
fi

Once everything is in place, we’ll finalize the pkg with pkgutil --flatten to create the updated pkg. The deployed app will have all our custom settings:

Enterprise Connect status menu app