Renew - A tool to get users to reboot periodically (macOS Script)
Description
For remote tools to work reliably, and for security patches to be properly installed, users need to restart their workstations regularly. But we all get focused on our day-to-day, and taking 10 minutes to restart our workstations just gets pushed to the back-burner. SecondSonConsulting developed Renew to encourage users to restart their workstations on a regular basis, and the timing can be customized to the environment. This tool can be delivered via MDM, or other methods, but then is self-sustaining, running locally without any other tool controlling it. For the safety of their work, it will never restart the computer without the user’s consent.
Ingredients
-
FW Central
- Renew PKG - https://github.com/SecondSonConsulting/Renew/releases
Directions
- Install SwiftDialog v2.0 or
later.later: swiftDialog Deployment (macOS PKG) - Install the latest Renew PKG from their Releases page as a PKG Fileset. Here is an example: PKG - Renew.fileset.zip
- Deploy a config
file.profile.AThisdefaultcanconfigurationbefiledone most easily by using iMazing Profile Editor (free) which has a template for Renew's options.- Save the profile and then drag and drop it in FileWave Central to make a Profile Fileset. An Example Profile from iMazing is
providedhere:toRenewgetConfiguration.mobileconfig and the Fileset made from it is here: Profile - Renew Configuration.fileset.zip
- Save the profile and then drag and drop it in FileWave Central to make a Profile Fileset. An Example Profile from iMazing is
Note that you startedcan testing.not edit the profile in the FileWave profile editor. It will not display the custom payload.
Additional Recommended Steps
Apply an MDM profile to enforce banner style notifications for Swift Dialog Bundle Identifier:au.bartreardon.dialog- Use the
OptionalArguments
profile keys to make Renew look and function right for your environment. - For macOS Ventura+ compatibility, create a BackgroundItems MDM profile and enforce the LaunchAgent Label ID:
com.secondsonconsulting.renew
Examples
Notification Mode Default User Experience
Normal Mode Default User Experience
Aggressive Mode Default User Experience
Custom Fields Design Example Image
SwiftDialog allows a high degree of customization, and Renew allows you to continue to easily take advantage of that. This is an example of how you can customize the user experience to suit your branding and taste.
This example uses a banner image tailored to the window size, and the following OptionalArgument in the configuration file.
<key>AdditionalDialogOptions</key>
<string>--width 300 --height 350 --messagefont size=15 --position topright --ontop --messagealignment centre</string>