Using Nudge’s targetedOSVersionsRule


With a single .json file or a single MDM-delivered configuration profile, you can have various deadlines and desired OS versions for Nudge, depending on the current macOS version of the client.

Let’s say, for example, you want an earlier deadline for client machines on a very old build but a later deadline for other client machines. This is what that config could look like:


  "osVersionRequirements": [
   {
      "aboutUpdateURL": "https://support.apple.com/en-us/HT211896",
      "requiredInstallationDate": "2022-03-28T00:00:00Z",
      "requiredMinimumOSVersion": "12.2.1",
      "targetedOSVersionsRule": "default"
    },
    {
      "aboutUpdateURL": "https://support.apple.com/en-us/HT211896",
      "requiredInstallationDate": "2022-02-28T00:00:00Z",
      "requiredMinimumOSVersion": "12.2.1",
      "targetedOSVersionsRule": "12"
    },
    {
      "aboutUpdateURL": "https://support.apple.com/en-us/HT211896",
      "requiredInstallationDate": "2022-02-18T00:00:00Z",
      "requiredMinimumOSVersion": "12.2",
      "targetedOSVersionsRule": "12.0.1"
    }
  ],

Here, any Mac client on Monterey (macOS 12) will have a deadline of February 28 to update to 12.2.1, but Mac clients on macOS 12.0.1 (the oldest version of macOS 12) will have a deadline of February 18 to update to 12.2 (even though they’ll really probably update to 12.2.1, 12.3, or whatever is actually available to update to), and any other clients would have a deadline of March 28.

So even though we have default and 12 listed first, the order doesn’t matter—having a separate entry that specifies 12.0.1 means that will be the exception to the general default and 12 rules.

So the Mac on macOS 12.0.1 will see the earlier deadline:

If, however, we make another build specified, then the 12.0.1 client will just fall back to the default 12 rule.

Here’s how that would look in the .json:


  "osVersionRequirements": [
   {
      "aboutUpdateURL": "https://support.apple.com/en-us/HT211896",
      "requiredInstallationDate": "2022-03-28T00:00:00Z",
      "requiredMinimumOSVersion": "12.2.1",
      "targetedOSVersionsRule": "default"
    },
    {
      "aboutUpdateURL": "https://support.apple.com/en-us/HT211896",
      "requiredInstallationDate": "2022-02-28T00:00:00Z",
      "requiredMinimumOSVersion": "12.2.1",
      "targetedOSVersionsRule": "12"
    },
    {
      "aboutUpdateURL": "https://support.apple.com/en-us/HT211896",
      "requiredInstallationDate": "2022-02-18T00:00:00Z",
      "requiredMinimumOSVersion": "12.2",
      "targetedOSVersionsRule": "12.1"
    }
  ],

And then the macOS 12.0.1 client suddenly has 11 days instead of just 1 day to install the update:

Further reading at the Nudge wiki’s targetedOSVersionsRule page


Leave a Reply

Your email address will not be published.