-
Notifications
You must be signed in to change notification settings - Fork 6
00 Setting up UEX Including Branding and Customising UEX
The main goal with UEX is to a have custom branded and therefore trusted interaction with your users. To achieve this, an admin is capable of customsing UEX in many different ways. Before uploading the scripts to your Jamf Pro Server you'll want to personlize the experience a little and in v4.2 this is easier. All changes need to happen in the main script 00-UEX-Jamf-Interaction-no-grep.sh
. There is a plist created (/Library/Preferences/github.cubandave.uex.plist
) so that other scripts will have the same settings.
UEX will automatically use your Self Service Branding if you use the native Jamf Self Service for macOS Branding Settings. Otherwise you can opt to customise this with packaged images.
-
Be sure to package this in the UEX resources so the branding shows up. Otherwise it will revert to jamf logo
- The UEX Resources Policy is run to install images if they do not exist
- If you do not use Self Service then you can:
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section- Change
customLogo="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
to whatever you want.
- Change
- Open
- If you do use Self Service then you can:
- Change
SelfServiceIcon="$loggedInUserHome/Library/Application Support/com.jamfsoftware.selfservice.mac/Documents/Images/brandingimage.png"
to whatever you want. If that file doesn't exist then tries$customLogo
then the Jamf icon.
- Change
Now you can set UEX to use the Utility version of jamfHelper, which supports Dark Mode! You can also set custom icons to use for Dark and Light Mode
-
Be sure to package this in the UEX resources so the branding shows up. Otherwise it will revert to jamf logo
- The UEX Resources Policy is run to install images if they do not exist
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section- Add the path to your icons in
UexLightIcon=""
&UexDarkIcon=""
- Add the path to your icons in
- Note: this does not change the appearance of CocoaDialog but will change the icon
- Note: PleaseWait.app supports Dark Mode already but not with a dynamic icon
The default Jamf Helper appearance is "HUD" If you want to allow the jamfHelper window to support dark mode but only use your custom icon. Or, you just like the look of the "Utility" version better then you can also do this.
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section - set the
supportDarkModeWithOnlyCustomIcon
totrue
- In the
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section - Change
title="Your IT Department"
to whatever you want- For example
title="Moss and Roy | IT"
- For example
If you use the compliance check feature and the UEX policy is forced because it has been ignored by the end user there is a "friendly" note reminding the user to kindly not ignore UEX prompts in the future; it's signed with the Jamf Ops Team Name that you can specify here;
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section- Change
jamfOpsTeamName="System Administrator"
to whatever you want - For example
jamfOpsTeamName="End User Computing"
- Change
If you use the Help Desk Ticket feature in combination with compliance, then the user is notified that the IT Support has been notified
once they've run out time to clear space on the computer prior to the policy running. You can customise the name of your IT Support:
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section- Change
ServiceDeskName="IT Support"
to whatever you want - For example
ServiceDeskName="IT Helpdesk"
- Change
By default UEX is configured to treat a user setting Do Not Disturb
in Notification Center as if the user is in a presentation. See Presentation Delay for more info. This can be disabled globally with the below steps.
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section- Change
supportDoNotDisturb=true
tofalse
- Change
The default location where logs, UEX plists and the image/app resources are stored is in /Library/Application Support/JAMF/UEX
. If you need, to for whatever reason, move this then you can:
- Open
00-UEX-Jamf-Interaction-no-grep.sh
- In the
Jamf Interaction Configuration
section - Change
UEXFolderPath="/Library/Application Support/JAMF/UEX"
to whatever you want- For example
UEXFolderPath="/Library/Application Support/Acme Inc/UEX
- For example
- If you do this then you will need to update the
UEX - Deferral Detection
Extension attribute to the latest version. - You will also need to package the UEX resources to go into a
resources
folder in that location. Otherwise it will not work either. - If you've already been using UEX in your environment, then you can replace the script contents in the
UEX - Deferral Detection
extension attribute withUEX - Deferral Detection.sh
in theExtension Attribute
folder. 😜
The UEX Resources package contains all the parts needed to make UEX work.
-
battery_white.png
- Used for the battery plugin message and install at logout when power is required.
-
cocoaDialog.app
- Use for the bubble dialogs on the top right for started and stop notifications
-
PleaseWait.app
- used to show a continuous progress bar for long installs that reminds user of the UEX requirements such as restarts, logouts, and not opening certain apps.
- may change this to cocoaDialog in the future
-
User Needs Helps Clearing Space.app
- This is used for the Application restriction functionality of being notified that a user requires help clearing disk space. see the wiki page for this Creating Helpdesk tickets via App Restriction.
If you want to update the title and icon in the PleaseWait.app open the project in Xcode from the PleaseWaitMini
folder.
- Open
PleaseWait.xcodeproj
in./PleaseWaitMini/
- To update icon simply replace the
PleaseWait.icns
in/Jamf-Interaction-Toolkit/PleaseWaitMini/
(512x512px recommended) - To update the title bar go the
MainMenu.XIP
and change the title in the inspector attributes - Build the project with your own teamID/Cert. (You may have to update some parts of the project to recommended strings but it should still work.)
- Replace the
PleaseWait.app
that's in./Packages/payload/Library/Application Support/JAMF/UEX/resources/
- Add custom
SelfServiceIcon
and/orcustomLogo
images you want to the payload under./Packages/payload/Library/Application Support/JAMF/UEX/resources/
- Once you've added all the resources you'd like then run then open Terminal.app.
- Type
sudo sh
and drag thebuild_pkg.sh
from./Packages/
into the terminal window - Hit return and enter in your password.
- This sets the right permissions and ownership on the payload contents and gives you a package like
-
UEXresourcesInstaller-201907131148.pkg
-
If run directly without sudo it will error out it will give the full command to put to make it run properly.
Please run as root with the command below.
sudo sh "./Packages/build_pkg.sh"
Please see Setting Custom Paths
- Create your UEXresourcesInstaller PKG with build.sh
- Upload the Package to your jamf Pro Server
- Upload the 'UEX - Deferral Detection.xml' Extension Attibute to your jamf Pro Server
- Upload all the scripts in the 'Scripts' folder to your jamf Pro Server
Note: You can also create the scripts on the jamf pro server just make sure to keep the names (.sh optional)
Now all you have to do is run the script, UEX Jamf Pro configuration tool.sh
in terminal from the API Configuration Tool
folder and the rest is taken care of for you.
New in v5.0 the API Configuration Tool gets a facelift. UI and buttons!!
- Note: The tool will save your answers in
~/Library/Preferences/github.cubandave.uex.plist
- except your password of course
- If you use Jamf Cloud you'll want to anwer
Yes
to the first question- Also may be needed if you're having issues running the tool
- Add your Jamf Pro URL
- any trailing slash
/
is removed automatically for the API commands
- any trailing slash
- Put in your user name and password
- Enter in the category name you'd like to use
- Hit return to use the default
- Copy and paste the package name of your UEX Resources
- To make a policy that makes the check-in daemon compatible with UEX you should answer
Yes
to the questionDo you want to modify the Check-in Launch Daemon?
- See 08-Making-UEX-Features-Work-With-Jamf-Check-in for more information.
- Enable helpdesk ticket notification with restricted software (true or false)
- If true specify the name of the app
- Hit return to use the default
- Enable helpdesk ticket notification with general computer group (true or false)
- If true specify the name of the group
- Hit return to use the default
- That's it!!
This sets up or updates:
- All the script and policies the the right category
- All the helper agent policies
- All the script parameters
- The policy and scoping groups for the deferral system to work
- The policies and groups for Helpdesk tickets if enabled
- The restricted software for Helpdesk tickets if enabled
- At the end it will open up the groups and policies that are needed to be enabled with email alerts and the API Username and Password into the policies.
🌈 Documentation is not my forté. If you would like to contribute please write me on MacAdmins slack @cubandave