ScheduleOSUpdateCommand - MDM command fails after trying to install a majorOS upgrade using InstallForceRestart on an M1 Pro MacBook (macOS Ventura 13.2.1)

Hello Device Management team,

I am currently working as a support engineer at a company that uses Jamf for MDM device management. In this app, we have an Apple M1 Pro MacBook, in our Jamf inventory, under a User-Initiated Enrollment.

In Jamf, I initially tried using the option “Download and allow macOS to install later” as stated on their technical article “macOS Upgrades and Updates Using a Mass Action Command”. (please look it up if necessary) 

However, when I check the Management History logs on Jamf, I find there’s a failed MDM command that states: "ScheduleOSUpdate - Unsupported InstallAction for majorOS update”.

I tried then the “Download and install the update, and restart computers after installation” option, since we found in the official Apple documentation that the “ScheduleOSUpdateCommand” restricts majorOS upgrades to be deployed using only the “InstallForceRestart” option on our MDM solution.

However, after testing this option, the Jamf MDM agent running in our test MacBook does the following:

  1. it downloads the InstallAssistant.pkg file for majorOS upgrade 13.2.1 into the /Library/Application Support/JAMF/Waiting Room/ folder
  2. it opens the .pkg file to extract its contents and the “Install macOS Ventura.app” file shows up in the /Applications folder
  3. It attempts installing the app package, no deferral options are ever prompted to the end-user

At this point, the MacBook simply restarts, and nothing else happens.

Here’s the results of running tail -f /private/var/log/install.log:

2023-03-08 11:59:09-08 MacBook softwareupdated[720]: Removing client SUUpdateServiceClient pid=62122, uid=0, installAuth=NO rights=(), transactions=0 (/usr/sbin/softwareupdate)
2023-03-08 11:59:09-08 MacBook softwareupdated[720]: SUOSUServiceDaemon: Removing client: (null) (pid = 62122, uid = 0, path = /usr/sbin/softwareupdate, connection remote object interface = <NSXPCInterface: 0x124d5f260>, exported interface = (null), remote object proxy = <__NSXPCInterfaceProxy_SUOSUServiceClientProtocol: 0x123f15930>)
2023-03-08 11:59:09-08 MacBook softwareupdated[720]: Adding client SUUpdateServiceClient pid=1435, uid=502, installAuth=NO rights=(), transactions=0 (/System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager)
2023-03-08 11:59:09-08 MacBook softwareupdated[720]: SoftwareUpdate: request for status for unknown product MSU_UPDATE_22D68_patch_13.2.1
2023-03-08 11:59:09-08 MacBook softwareupdated[720]: SUOSUServiceDaemon: Adding client: (null) (pid = 1435, uid = 502, path = /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager, connection remote object interface = <NSXPCInterface: 0x121ce1f90>, exported interface = <NSXPCInterface: 0x1234ba280>, remote object proxy = <__NSXPCInterfaceProxy_SUOSUServiceClientProtocol: 0x12501a910>)
2023-03-08 11:59:09-08 MacBook SoftwareUpdateNotificationManager[1435]: AssertionMgr: Cancel com.apple.softwareupdate.NotifyAgentAssertion-BadgingCountChanged assertion for pid 1435, id 0xA261
2023-03-08 11:59:10-08 MacBook softwareupdated[720]: Adding client SUUpdateServiceClient pid=1435, uid=502, installAuth=NO rights=(), transactions=0 (/System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager)
2023-03-08 11:59:10-08 MacBook softwareupdated[720]: SoftwareUpdate: request for status for unknown product MSU_UPDATE_22D68_patch_13.2.1
2023-03-08 11:59:10-08 MacBook softwareupdated[720]: SUOSUServiceDaemon: Adding client: (null) (pid = 1435, uid = 502, path = /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager, connection remote object interface = <NSXPCInterface: 0x121ea9450>, exported interface = <NSXPCInterface: 0x123267b70>, remote object proxy = <__NSXPCInterfaceProxy_SUOSUServiceClientProtocol: 0x121e398a0>)
2023-03-08 11:59:10-08 MacBook SoftwareUpdateNotificationManager[1435]: AssertionMgr: Could not cancel com.apple.softwareupdate.NotifyAgentAssertion-BadgingCountChanged assertion - no assertion found for pid 1435

I also executed the sysdiagnose daemon by pressing Shift+Control+Option+Command+.

Let me know if I need to attach the logs inside the output .tar.gz file somewhere and send it out.