Posted on 05-08-2019 07:39 AM
Hey folks.
I have been asked by our estates team to see if we can come up with a mechanism to display a message on our Macs in the event of an emergency in our buildings.
Setting up a simple Jamf Helper notification for this has gotten me halfway there, but is obviously dependent on the Mac being logged in, and then there's the lag time for the Macs to check in before this is displayed.
Is there a faster way to push those notifications out to the Macs? Something like a group "blank push" or similar I can tag on to the end of a policy to get them all checking in immediately?
As ever, cheers for your help everyone.
Posted on 05-08-2019 08:19 AM
You could push a script out via JAMF Remote. The script below would utilize the notification center and make the sound and pop up. Doesn't really work for machines not signed in though.
osascript -e 'display notification "body of the alert" with title "Title"'
Posted on 05-08-2019 08:42 AM
For an emergency alert though, you probably don't want notification center, you want something that will stay up for more than 5 seconds.
JamfHelper maybe, but pushed via JamfRemote for more immediate results?
Something along the lines of:
/jamfHelper -windowType hud title Emergency! -heading Alert! -description "<insert alert message text here>"
You can add your company logo if you want to make it look more official.
Posted on 05-08-2019 09:23 AM
Because this is a life/health safety issue, I'd personally recommend a commercial tool specifically designed for this function, rather than a home-built tool. We use Alertus for this, but there are other "Emergency Mass Notification Solutions" out there.
Posted on 05-08-2019 09:30 AM
We use a program called Yo, it shows up like a normal notification on macOS and you can tell it not to go away until clicked on, etc.
Posted on 05-08-2019 09:45 AM
While there are plenty of tools out there to get a message on screen to a Mac client, including some from Jamf and some from 3rd party developers, none of that addresses the main issue, which is, how do you get the message to show up immediately, or at least within a few seconds, in the case of an emergency? As the OP mentioned, there is the issue of the recurring check-in potentially not happening for upwards of 5 - 15 minutes or more in some cases, depending on your setup.
Jamf Remote is one option, but it relies on sending out a command to each Mac in chunks over the network. If you have thousands of Macs to target, it's not entirely immediate since it needs to work through small groups at a time, and then move on to the next group until it attempts to contact them all.
Because of this I tend to agree with @georgecm12 that you may want to investigate some commercial options for this. In the event of a real emergency, you'd likely want to be able to open a console and send out a message in a fire and forget it type of way, rather than sitting there watching it and babysitting the process.
If it's just for general "important" messages and not to be used for something dire, then sure, Jamf Remote or even ARD would be fine to use. I guess it all depends on how urgent the message will be.
Just my 2¢.
Posted on 05-08-2019 10:12 AM
Deploying a Configuration Profile could be utilized if a commercial option isn't possible. The approach of using a LaunchDaemon to watch for a Configuration Profile to be installed on a machine and triggering some action based on info in that profile has been discussed before on Jamf Nation. I don't have a reference handy to the specific discussion I'm thinking of, and a quick search didn't find it, but this thread might be useful: Read values from configuration profile via terminal/script?
Posted on 05-08-2019 10:39 AM
Found the discussion I was thinking of: "Push" Trigger For jamf binary
Posted on 05-08-2019 01:00 PM
I will second the recommendation of Alertus. It's cross platform and when an alert happens from our Campus EOC it goes full screen so folks are alerted.
Posted on 05-09-2019 12:44 AM
Thanks for all the responses folks! More than enough to get me started. I'll have a play with all the options this morning.