Sophos Central Windows Endpoint: Deploying using Microsoft Intune

FormerMember
FormerMember

Disclaimer: This information is provided as-is for the community's benefit. Please contact Sophos Professional Services if you require assistance with your specific environment.


Overview

This article provides a high-level overview of using Microsoft Intune to deploy the Sophos Central Endpoint Agent on Windows devices.

The steps below are provided assuming that you have already used Intune to deploy packages to Windows devices and are familiar with the general workflows described.

Note: It is recommended to deploy using AutoPilot from Windows enrollment

 
The following sections are covered:

Product and Environment

  • Microsoft Intune
  • Sophos Central Endpoint
  • Windows

Creating the .intunewin file from the Sophos Central installer file

  1. Create the following folders using a Command Prompt with admin privilege:

    1. md C:\Temp
    2. md C:\Temp\IntunePackageSource
    3. md C:\Temp\IntunePackageOutput
    4. md C:\Temp\Intune-Win32-App-Packaging-Tool-master
  2. Download the Sophos Central installer SophosSetup.exe from your Sophos Central Admin dashboard and save it at C:\Temp\IntunePackageSource.
  3. Go to Github, and download the Microsoft Win32 app packaging tool (IntuneWinAppUtil.exe) and save it at C:\Temp\Intune-Win32-App-Packaging-Tool-master.
  4. Using a Command Prompt, run the packaging tool from the specified folder above.
  5. When prompted, specify the following:

    • Source folder: C:\Temp\IntunePackageSource
    • Setup file: SophosSetup.exe
    • Output folder: C:\Temp\IntunePackageOutput
    • Catalog folder: N

The message INFO File 'C:\Temp\IntunePackageOutput\SophosSetup.intunewin' has been generated successfully will be displayed. 

Creating the Win32 app within Intune

  1. Sign in to your Azure AD tenant with an account that can manage Intune.
  2. Search for and click Intune.
  3. In the Microsoft Intune admin center, click Apps.



  4. Click All Apps > Add



  5. Select Windows app (Win32) for the App type, then click Select



  6. In the App information click Select app package file.

  7. Select the SophosSetup.intunewin file from C:\Temp\IntunePackageOutput, then click OK



  8. The app information can then be configured as follows:

  9. In the Program tab, enter the install and uninstall commands, then click Next.

  10. In the Requirements tab, select the OS architecture and the Minimum OS you want to deploy, then click Next



  11. In the Detections rule tab, select Manually Configure detection rules from the Rules format drop-down menu. Enter the following on the Detection rule

    • Rule type: File
    • Path: %ProgramFiles%\Sophos\Sophos UI
    • File or folder: Sophos UI.exe
    • Detection method: File or folder exists. 

      Click OK followed by Next.   



  12. Click Next on the Dependencies and Supersedence tabs.
  13. In the Assignments tab > Required, click Add group, select the group to which you want to assign the app, and then click Next.
    Note: The app will be automatically installed on enrolled devices.



  14. In the Review + create tab, check the details of your app and click Create

The new app will now show in the Apps section of your Microsoft Intune admin center. 

Endpoint deployment

Once your devices are configured and enrolled with Windows Autopilot, the Sophos Endpoint Agent will automatically deploy. You may see the following notifications on your devices.



You will also see the Sophos Endpoint Agent icon in the system tray.


Related information

Sign up for the Sophos Support Notification Service to receive proactive SMS alerts for Sophos products and Sophos Central services.



updated Sept 26, 2024 KBT-10114
[edited by: Raymond at 5:05 AM (GMT -7) on 26 Sep 2024]
  • Nice Article. Alas,,, what about removing Windows Defender; Is it not as important, to not be running two endpoint protection applications at the same time?

    My understanding is that Defender will automatically enter into a passive state when it detects another AV product installed... However is that true and for Microsoft Servers as well?

  • FormerMember
    FormerMember in reply to BossSayBootz

    Hi ,

    Sorry for the late response, the information you are looking for can be found here in Microsoft's documentation.

    https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-antivirus-compatibility?view=o365-worldwide

    Thanks!

  • Where can I find the Mac equivalent instruction of this for the .intunemac package? A co-worker and I have tried to create custom scripted packages since the installer, as it comes, is an .app not a pgk file. Our best result so far gets rejected by intune because the MacOSLobChildApp (aka the sophos client installer) has an null or empty BuildNumber.

  • Thank you for the clear how to. It saved us hours.

    Recently (over the past month) the installation stopped working on all new computers/ clients. I opened a ticket with Sophos but they weren't able to help me out. Anyone have any ideas? Did this happen to you? 

  • Meir,

    We had the same issue. What fixed it for me was to download the latest version of sophos and build the intune package by uploading a new .intunewin file. Best of luck!

  • Hi,

    This article works great on our Windows 11 enterprise deployments (azure joined) Dell XPS hardware, but we can't get it working on Windows 11 enterprise azure joined hosted by parallels on Apple MacBooks with M1/M2 chip. 

    Even with the latest installer, when sophos is pushed out by Intune, we keep getting the error that there is no ARM64 support in the logs. If we try the installer directly on the parallels image, it has no problem.
    Anyone have this error too?

  • so does the installation not auto-update once installed via InTune or is it stuck at the deployed version?

  • Would creating this PS script work for deploying? 

    https://github.com/q2srw77/Generic-Installer/blob/master/Windows/Sophos%20Central%20Windows%20Installer%20API%20Script.ps1

    # -----------------------------------------------------------------------------------------------
    # Component: Sophos Central Installer
    # Author: Stephen Weber
    # Purpose: Using the new Sophos Thin installer,
    # perform default install of Sophos Central using the defined variables
    # Version 1.2
    # -----------------------------------------------------------------------------------------------
    #Setup Customer Variables
    #CustomerToken - Example - "Customer Token Here"
    #Products - Example - "antivirus,intercept"
    $Global:CustomerToken
    $Global:Products
    # Define Functions
    function Get-SophosInstalled {
    $Global:installed *).DisplayName -contains "Sophos Endpoint Agent"
    $Global:mcsclient Get-Service -name "Sophos MCS Client" -ea SilentlyContinue
    $Global:mcsagent Get-Service -name "Sophos MCS Agent" -ea SilentlyContinue
    }
    # Sophos Central Installation
    Start-Transcript c:\temp\SophosCentralInstallLog.txt
    Write-Host "Starting the Sophos Central Installation based on the variables defined in the site"
    Write-Host ""
    Write-Host "Checking to see if Sophos is Already Installed"
    Get-SophosInstalled
    if ($installed -eq "True") {
    Write-Host "--Sophos Central Endpoint Agent Installed"
    if ($mcsclient.Status -eq "Running"){
    Write-Host "--Sophos MCS Client is Running"
    Exit 0
    }
    }
    else {
    Write-Host "--Sophos Central is Not Installed"
    Write-Host "Sophos MCS Client is Not Running"
    }
    # Check for the Site Variables
    Write-Host ""
    Write-Host "Checking the Variables"
    if ($CustomerToken -eq $null)
    {Write-Host "--Customer Token Not Set or Missing"
    Stop-Transcript
    Exit 1}
    else
    {Write-Host "--CustomerToken = "$CustomerToken""}
    if ($Products -eq $null)
    {Write-Host "--Sophos Products Not Set or Missing"
    Stop-Transcript
    Exit 1}
    else
    {Write-Host "--Products = "$Products""}
    # Sophos parameters are defined from the site specific variables
    $arguments "--products=""" + $Products
    $arguments $arguments + """ --quiet"
    # Check to see if a previous SophosSetup Process is running
    Write-Host ""
    Write-Host "Checking to see if SophosSetup.exe is already running"
    if ((get-process "sophossetup" -ea SilentlyContinue) -eq $Null){
    Write-Host "--SophosSetup Not Running"
    }
    else {
    Write-Host "Sophos Currently Running, Will Kill the Process before Continuing"
    Stop-Process -processname "sophossetup"
    }
    #Force PowerShell to use TLS 1.2
    [Net.ServicePointManager]::SecurityProtocol Net.SecurityProtocolType]::Tls12
    # Download of the Central Customer Installer
    Write-Host ""
    Write-Host "Downloading Sophos Central Installer"
    Invoke-WebRequest -Uri "central.sophos.com/.../$CustomerToken/SophosSetup.exe" -OutFile SophosSetup.exe
    if ((Test-Path SophosSetup.exe) -eq "True"){
    Write-Host "--Sophos Setup Installer Downloaded Successfully"
    }
    else {
    Write-Host "--Sophos Central Installer Did Not Download - Please check Firewall or Web Filter"
    Stop-Transcript
    Exit 1
    }
    # This Section starts the installer using the arguments defined above
    Write-Host ""
    Write-Host "Installing Sophos Central Endpoint:"
    Write-Host ""
    Write-Host "SophosSetup.exe "$arguments""
    Write-Host ""
    start-process SophosSetup.exe $arguments
    $timeout new-timespan -Minutes 30
    $install diagnostics.stopwatch]::StartNew()
    while ($install.elapsed -lt $timeout){
    if ((Get-Service "Sophos MCS Client" -ea SilentlyContinue)){
    Write-Host "Sophos MCS Client Found - Breaking the Loop"
    Break
    }
    start-sleep -seconds 60
    }
    Write-Host ""
    Write-Host "Sophos Setup Completed"
    # Verify that Sophos Central Endpoint Agent Installed
    Write-Host ""
    Write-Host "Verifying that Sophos Central Endpoint installed and is Running"
    Get-SophosInstalled
    if ($installed -eq "True") {
    Write-Host "--Sophos Central Endpoint Agent Installed Successfully"
    if ($mcsclient.Status -eq "Running"){
    Write-Host "--Sophos MCS Client is Running"
    if ($mcsagent.Status -eq "Running"){
    Write-Host "--Sophos MCS Agent is Running"
    Write-Host "Log Location - <system>\programdata\Sophos\Cloudinstaller\Logs\"
    Stop-Transcript
    Exit 0
    }
    }
    }
    else {
    Write-Host "--Sophos Central Install Failed"
    Write-Host ""
    Write-Host "Please check the Sophos Central Install Logs for more details"
    Write-Host ""
    Write-Host "Log Location - <system>\programdata\Sophos\Cloudinstaller\Logs\"
    Stop-Transcript
    Exit 1
    }
  • Hi, 

    Step 11 states you should add the following path: %ProgramFiles%\Sophos\Sophos UI

    Intune Admin Center refuses to accept this path:

    It doesn't seem to like the % use.

    For now, I have entered the path C:\Program Files\Sophos\Sophos UI but not all systems have the OS on C.

    Can you please advise?

  • Just to say, i was able to use %ProgramFiles%\Sophos\Sophos UI. There seems to be a bit of more padding on the left compared to my Azure Portal UI so just check you do not have a leading space by accident.

    that's the only different i can obviously see between your entry and mine.