Skip to main content

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

Directions

  1. Install SwiftDialog v2.0 or later.later: swiftDialog Deployment (macOS PKG)
  2. Install the latest Renew PKG from their Releases page as a PKG Fileset. Here is an example: PKG - Renew.fileset.zip
  3. Deploy a config file.profile. AThis defaultcan configurationbe filedone most easily by using iMazing Profile Editor (free) which has a template for Renew's options. 

Note that you startedcan testing.not edit the profile in the FileWave profile editor. It will not display the custom payload. 

Example ConfigurationsRenew Configuration 2023-07-30 at 8.52.58 PM.jpg

Additional Recommended Steps

  1. Apply an MDM profile to enforce banner style notifications for Swift Dialog Bundle Identifier: au.bartreardon.dialog
  2. Use the OptionalArguments profile keys to make Renew look and function right for your environment.
  3. For macOS Ventura+ compatibility, create a BackgroundItems MDM profile and enforce the LaunchAgent Label ID: com.secondsonconsulting.renew

Examples

Notification Mode Default User Experience

Renew Notification Example Image

Normal Mode Default User Experience

Renew Normal Example Image

Aggressive Mode Default User Experience

Renew Aggressive Example Image

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>

Renew Customized Example Image