Skip to content

A tool to help users with pre-existing devices upgrade their OS version.

Notifications You must be signed in to change notification settings

grahamgilbert/nudge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nudge (macadmin's Slack #nudge)

Important Information

You most certainly want to customize the following values:

  • cutoffdate
  • updatetext
  • moreinfourl

Also, you will at the very least want to change the company_logo.png

Screenshots

Screenshot Nudge

Building this package

You will need to use munki-pkg to build this package.

Credits

This tool would not be possible without nibbler, written by Michael Lynn.

Notes

Because of the way git works, nudge will not contain the Logs folder required for the postinstall to complete.

In order to create a properly working package, you will need to run the following command: munkipkg --sync /path/to/cloned_repo/nudge.

OS Support

The following operating system and versions have been tested.

  • 10.10.0, 10.10.5
  • 10.11.0, 10.11.6
  • 10.12.0, 10.12.6
  • 10.13.0 10.13.3, 10.13.6
  • 10.14.0

Configuration File

Essentially every component of the UI is customizable, all through a JSON configuration file. An example file is available within the code repository.

Defined config file

To define a configuration file, use the jsonurl script parameter.

--jsonurl=https://fake.domain.com/path/to/config.json
--jsonurl=file:///path/to/local/config.json

Default config file

If you prefer to deploy the configuration file to each client, it needs to be placed in the Resources directory and named nudge.json. If this file exists, jsonurl does not need to be set.

Preferences

A description of each preference is listed below.

Cutoff date

Cut off date in UTC.

"cut_off_date": "2018-12-31-00:00"

Cut off date warning

This is the number, in days, of when to start the initial UI warning. When this set of days passes, the user will be required to hit the I Understand button, followed by the Close button to exit out of the UI.

"cut_off_date_warning": 14

Logo path

A custom logo path. Alternatively, just replace the included company_logo.png.

"logo_path": "/Some/Custom/Path/company_logo.png"

Button Title text

This is the first set of text above the Update Machine button.

"button_title_text": "Ready to start the update?"

Button Sub-title text

This is the second set of text above the Update Machine button.

"button_sub_titletext": "Click on the button below."

Minimum OS Version

This is the minimum OS version a machine must be on to not receive this UI.

"minimum_os_version": "10.13.6"

More info URL

This is the URL to open when the More Info button is clicked.

"more_info_url": "https://google.com"

Main Title text

This is the main, bolded text at the very top.

"main_title_text": "macOS Update"

Main Sub-title text

This is the text right under the main title.

"main_subtitle_text": "A friendly reminder from your local IT team"

Paragraph Title text

This is the bolded portion of the UI towards the top.

"paragraph_title_text": "A security update is required on your machine."

Paragraph 1 text

This is the text for the first paragraph.

"paragraph1_text": "A fully up-to-date device is required to ensure that IT can your accurately protect your computer."

Paragraph 2 text

This is the text for the second paragraph.

"paragraph2_text": "If you do not update your computer, you may lose access to some items necessary for your day-to-day tasks."

Paragraph 3 text

This is the text for the third paragraph.

"paragraph3_text": "To begin the update, simply click on the button below and follow the provided steps."

Path to app

This is the path to the macOS installer application.

"path_to_app": "/Applications/Install macOS High Sierra.app"

No timer

Do not attempt to restore the nudge GUI to the front of a user's window.

"no_timer": false

Timer Day 1

The time, in seconds, to restore the nudge GUI to the front of a user's window. This will occur indefinitely until the UI is closed or MDM is enrolled.

This is when the MDM cutoff is one day or less.

"timer_day_1": 600

Timer Day 3

The time, in seconds, to restore the nudge GUI to the front of a user's window. This will occur indefinitely until the UI is closed or MDM is enrolled.

This is when the MDM cutoff is three days or less.

"timer_day_3": 7200

Timer Elapsed

The time, in seconds, to restore the nudge GUI to the front of a user's window. This will occur indefinitely until the UI is closed or MDM is enrolled.

This is when the MDM cutoff has elapsed.

"timer_elapsed": 10

Timer Final

The time, in seconds, to restore the nudge GUI to the front of a user's window. This will occur indefinitely until the UI is closed or MDM is enrolled.

This is when the MDM cutoff is one hour or less.

"timer_final": 60

Timer Initial

The time, in seconds, to restore the nudge GUI to the front of a user's window. This will occur indefinitely until the UI is closed or MDM is enrolled.

This is when the MDM cutoff is over three days.

"timer_initial": 14400

Update screenshot path

A custom update screenshot path. Alternatively, just replace the included update_ss.png.

"screenshot_path": "/Some/Custom/Path/update_ss.png"

Random Delay

Randomize the UI popup by up to 20 minutes.

"random_delay": true

Update Minor

Perform Apple Software Updates.

"update_minor": true

Update Minor Days

Grace period before UI pops up to prompt for minor updates.

"update_minor_days": 14

About

A tool to help users with pre-existing devices upgrade their OS version.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%