Replace Sophos with Windows Defender on Intune managed devices

Iron Contributor

We are replacing Sophos Endpoint Protection with Windows Defender, and I'd like to ask if anybody has experience in doing so and is willing to share it.


a) removing Sophos from Windows 10 devices using Intune - is it possible and what should I take care of to prevent bricking the device (esp. BitLocker)?


b) deploying Windows Defender to Windows 10 devices to devices where I cannot uninstall Sophos remotely - is it possible / recommended?



10 Replies
I wish someone could reply with a solution. We are also faced with the same predicament.
What are you currently doing with Sophos? (A/V? EDR? Disk Enryption?)

Are the devices all Intune Enrolled yet?
we are using Sophos for A/V
All our devices are Intune enrolled
Do you currently have a script to uninstall it? You will need a silent way to uninstall it. Once you have that you can leverage the PowerShell script method in Intune.
I have found a batch file, but no PowerShell script to silent uninstall
if its a simple batch file you could always convert it to PowerShell. Also, you could leverage a Win32 app and call the batch file, you'll simply need something like a reg key on the machine to use as a detection method. Feel free to post the batch file here on the forum.
here is the bat file

net stop "SAVService"
net stop "Sophos AutoUpdate Service"
"C:\Program Files\Sophos\Sophos Endpoint Agent\uninstallcli.exe"
MsiExec.exe /X{31616A98-3852-49E9-BDD6-77A1AB85571A} /qn REBOOT=SUPPRESS /L*v %windir%\Temp\Uninstall_SAV10_Log.txt
Here is a community guide on a possible way to convert a simple batch script to powershell

essentially you rename it to .cmd, then to .ps1. if you run it and it still works as expected the simple conversion has worked.

after you've converted the file call it with the following command line:

powershell.exe -ExecutionPolicy Byass -file .\script.ps1

@Nathan Blasac 



I was able to get it to run as .cnd but renaming it to .ps1 brought a pop up window which indicated that I have to change the commands for PowerShell to run them.


Windows ® Installer. V 5.0.21390.1

msiexec /Option <Required Parameter> [Optional Parameter]

Install Options
</package | /i> <Product.msi>
Installs or configures a product
/a <Product.msi>
Administrative install - Installs a product on the network
/j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
Advertises a product - m to all users, u to current user
</uninstall | /x> <Product.msi | ProductCode>
Uninstalls the product
Display Options
Quiet mode, no user interaction
Unattended mode - progress bar only
Sets user interface level
n - No UI
b - Basic UI
r - Reduced UI
f - Full UI (default)
Help information
Restart Options
Do not restart after the installation is complete
Prompts the user for restart if necessary
Always restart the computer after installation
Logging Options
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
i - Status messages
w - Nonfatal warnings
e - All error messages
a - Start-up of actions
r - Action-specific records
u - User requests
c - Initial UI parameters
m - Out-of-memory or fatal exit information
o - Out-of-disk-space messages
p - Terminal properties
v - Verbose output
x - Extra debugging information
+ - Append to existing log file
! - Flush each line to the log
* - Log all information, except for v and x options
/log <LogFile>
Equivalent of /l* <LogFile>
Update Options
/update <Update1.msp>[;Update2.msp]
Applies update(s)
/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
Remove update(s) for a product
Repair Options
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
Repairs a product
p - only if file is missing
o - if file is missing or an older version is installed (default)
e - if file is missing or an equal or older version is installed
d - if file is missing or a different version is installed
c - if file is missing or checksum does not match the calculated value
a - forces all files to be reinstalled
u - all required user-specific registry entries (default)
m - all required computer-specific registry entries (default)
s - all existing shortcuts (default)
v - runs from source and recaches local package
Setting Public Properties

Consult the Windows ® Installer SDK for additional documentation on the
command line syntax.

Copyright © Microsoft Corporation. All rights reserved.
Portions of this software are based in part on the work of the Independent JPEG Group.



from this stack overflow question I was able to create a working .ps1 script

Invoke-Expression "& `"C:\Program Files\Sophos\Sophos Endpoint Agent\uninstallcli.exe`" MsiExec.exe /X{31616A98-3852-49E9-BDD6-77A1AB85571A} /quiet /norestart /L*v %windir%\Temp\Uninstall_SAV10_Log.txt"