diff --git a/changes/19512-mdm-migration-sonoma b/changes/19512-mdm-migration-sonoma new file mode 100644 index 0000000000..d82dff2208 --- /dev/null +++ b/changes/19512-mdm-migration-sonoma @@ -0,0 +1 @@ +- Fixed bug where MDM migration failed when attempting to renew enrollment profiles on macOS Sonoma devices. diff --git a/frontend/pages/hosts/details/DeviceUserPage/AutoEnrollMdmModal/AutoEnrollMdmModal.tsx b/frontend/pages/hosts/details/DeviceUserPage/AutoEnrollMdmModal/AutoEnrollMdmModal.tsx index 3114d73530..2f40fa82b6 100644 --- a/frontend/pages/hosts/details/DeviceUserPage/AutoEnrollMdmModal/AutoEnrollMdmModal.tsx +++ b/frontend/pages/hosts/details/DeviceUserPage/AutoEnrollMdmModal/AutoEnrollMdmModal.tsx @@ -2,16 +2,27 @@ import React from "react"; import Button from "components/buttons/Button"; import Modal from "components/Modal"; +import { IDeviceUserResponse } from "interfaces/host"; interface IAutoEnrollMdmModalProps { + host: IDeviceUserResponse["host"]; onCancel: () => void; } const baseClass = "auto-enroll-mdm-modal"; const AutoEnrollMdmModal = ({ + host: { platform, os_version }, onCancel, }: IAutoEnrollMdmModalProps): JSX.Element => { + let isMacOsSonomaOrLater = false; + if (platform === "darwin" && os_version.startsWith("macOS ")) { + const [major] = os_version + .replace("macOS ", "") + .split(".") + .map((s) => parseInt(s, 10)); + isMacOsSonomaOrLater = major >= 14; + } return (
  1. - Open your Mac’s notification center by selecting the date and time - in the top right corner of your screen. + From the Apple menu in the top left corner of your screen, select{" "} + System Settings or System Preferences.
  2. - Select the Device Enrollment notification. This will open{" "} - System Settings or System Preferences. Select{" "} - Allow. + {isMacOsSonomaOrLater ? ( + <> + In the sidebar menu, select Enroll in Remote Management, + and select Enroll. + + ) : ( + <> + In the search bar, type “Profiles.” Select Profiles, find + and select Enrollment Profile, and select Install. + + )}
  3. Enter your password, and select Enroll. diff --git a/frontend/pages/hosts/details/DeviceUserPage/DeviceUserPage.tsx b/frontend/pages/hosts/details/DeviceUserPage/DeviceUserPage.tsx index d950153f48..16b38e11a8 100644 --- a/frontend/pages/hosts/details/DeviceUserPage/DeviceUserPage.tsx +++ b/frontend/pages/hosts/details/DeviceUserPage/DeviceUserPage.tsx @@ -311,7 +311,7 @@ const DeviceUserPage = ({ const renderEnrollMdmModal = () => { return host?.dep_assigned_to_fleet ? ( - + ) : (