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: 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 profile. This can be done 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 here: Renew Configuration.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 here: Renew Configuration.mobileconfig and the Fileset made from it is here: Profile - Renew Configuration.fileset.zip
Note that you can not edit the profile in the FileWave profile editor. It will not display the custom payload.
Additional Recommended Steps
- 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
with an example here: Profile - Renew LaunchAgent.fileset.zip
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>