> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getprimo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Silent agent deployment

> Deploy the Primo MDM agent centrally and silently — using an existing MDM, Active Directory with GPO, or any package deployment system.

## Platform compatibility

| macOS | Windows | Linux | iOS / iPadOS | Android |
| ----- | ------- | ----- | ------------ | ------- |
| ✅     | ✅       | ✅     | ❌            | ❌       |

## Prerequisites

* An existing MDM, Active Directory with GPO, or equivalent system capable of deploying packages to your devices.

<Info>
  On **macOS**, once the Fleet agent is installed silently, the MDM enrollment profile still needs to be installed by the employee. For a fully touchless experience, use [Zero Touch for Apple](/mdm/zero-touch/zero-touch-macs) instead.
</Info>

## Deploy via an existing MDM

Download the enrollment packages from **Devices > Enroll devices** in the Primo cockpit. Select the operating system and copy the package or download the installer.

Distribute the package through your existing MDM (Jamf, Intune, SCCM, etc.) as a silent install. The agent will check in with Primo automatically once installed.

## Migrate from another MDM

<Tabs>
  <Tab title="Windows">
    Enable **Windows MDM Automatic Migration** in **Settings > MDM**. Once enabled, Fleet will automatically migrate Windows devices enrolled with another MDM solution — no manual re-enrollment required.

    **Migrating from Intune specifically**

    If you have connected Intune and Entra ID, follow these steps before initiating migration:

    <Steps>
      <Step title="Set Fleet as the external MDM in Entra">
        Go to your Fleet MDM URL: `https://{company}.mdm.getprimo.com/settings/integrations/automatic-enrollment/windows`
      </Step>

      <Step title="Switch automatic enrollment to Fleet in Entra">
        Go to [entra.microsoft.com](https://entra.microsoft.com) and search for **Mobility**. Select **Intune**, then set both options to **None** and save.
      </Step>

      <Step title="Migrate devices">
        * **One by one:** enroll the device in Primo — it will appear with the status "On in another MDM". Use the migration button in Primo to run the migration script.
        * **All at once:** upload the migration script to Controls > Scripts, create a policy using the detection query below, and link the script to the policy.

        ```powershell theme={null}
        $EnrollmentsPath = "HKLM:\SOFTWARE\Microsoft\Enrollments\"
        $Enrollments = Get-ChildItem -Path $EnrollmentsPath
        $DiscoveryServerFullUrls = @("INPUT_URL_HERE")

        FoEach ($Enrollment in $Enrollments) {
            $EnrollmentObject = Get-ItemProperty Registry::$Enrollment
            if ($EnrollmentObject."DiscoveryServiceFullURL" -in $DiscoveryServerFullUrls ) {
                $EnrollmentPath = $EnrollmentsPath + $EnrollmentObject."PSChildName"
                Remove-Item -Path $EnrollmentPath -Recurse
                & "C:\Windows\System32\deviceenroller.exe /c /AutoEnrollMDM"
            }
        }
        ```

        Detection query (replace `INPUT_URL_HERE` with your Fleet MDM URL):

        ```sql theme={null}
        SELECT 1 FROM registry
        WHERE path LIKE 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Enrollments\%%'
        AND name = "DiscoveryServiceFullURL"
        AND data NOT IN ("INPUT_URL_HERE")
        ```
      </Step>
    </Steps>
  </Tab>

  <Tab title="macOS">
    For supervised devices registered in Apple Business Manager (ABM):

    <Steps>
      <Step title="Connect Primo to your Apple Business Manager">
        Go to **Settings > MDM > Apple** and complete the ABM connection.
      </Step>

      <Step title="Reassign devices in ABM">
        In Apple Business Manager, reassign devices to Primo's MDM server. This does not erase device data.
      </Step>

      <Step title="Remove the old MDM profile">
        From your previous MDM console, unenroll the devices. ABM does not remove them automatically.
      </Step>

      <Step title="Employee accepts the new profile">
        Employees receive a **Remote Management** prompt on their device and are asked to install the Primo MDM profile.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Related articles

* [Enrollment methods](/mdm/rollout/enrollment-methods)
* [Set up Zero Touch for Apple](/mdm/zero-touch/zero-touch-macs)
* [Set up Zero Touch for Windows](/mdm/zero-touch/zero-touch-windows)
