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: 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 profile. This can be done most easily by using iMazing Profile Editor (free) which has a template for Renew's options. 

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

Renew Configuration 2023-07-30 at 8.52.58 PM.jpg

Additional Recommended Steps

  1. Use the OptionalArguments profile keys to make Renew look and function right for your environment.
  2. For macOS Ventura+ compatibility, create a BackgroundItems MDM profile and enforce the LaunchAgent Label ID: com.secondsonconsulting.renewwith an example here: Profile - Renew LaunchAgent.fileset.zip

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