I’m yanking this off Reddit for when they delete the thread (happening more frequently!!). How to get rid of copilot…
Did a bunch of digging today. It looks like you can also disable it via Intune, using a configuration profile. Thanks to https://www.reddit.com/user/maxpowers156/ for posting it.
*EDIT* 9-25 this config policy failed for all my win11 clients. I tried making a win32 app and pushing out the reg change and that is generating errors also, so YMMV. Right now we’re manually using command line to edit the registry.
Here is what I got, still testing this out in our environment:
Custom Template
Name: Disable Windows Copilot OMA-URI: ./User/Vendor/MSFT/Policy/Config/WindowsAI/TurnOffWindowsCopilot Data type: Integer Value: 1 Copilot is only applicable to the Insider Preview build currently: WindowsAI Policy CSP – Windows Client Management | Microsoft Learn
I made a dynamic group that finds windows 11 OSes to target it. will test monday.
(device.deviceOSVersion -startsWith "10.0.2")
lastly, here is the reg setting if you just want to push out an Intune app, thanks to https://www.reddit.com/user/kheldorn/. I had this work on 1 test machine, and not work on a different one. it’s Fun!
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsCopilot] "TurnOffWindowsCopilot"=dword:00000001
See https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-windowsai
I couldn’t get the CSP to work either. I have Powershell disabled for my users so I patched together a Remediation to apply it to the users HKU instead of HKCU as system. Tested and confirmed working.
Detection:
New-PSDrive HKU Registry HKEY_USERS | out-null
$user = get-wmiobject -Class Win32_Computersystem | select Username;
$sid = (New-Object System.Security.Principal.NTAccount($user.UserName)).Translate([System.Security.Principal.SecurityIdentifier]).value;
$key = "HKU:\$sid\Software\Policies\Microsoft\Windows\WindowsCopilot"
$val = (Get-Item "HKU:\$sid\Software\Policies\Microsoft\Windows\WindowsCopilot");
$off = $val.GetValue("TurnOffWindowsCopilot");
if($off -ne 1)
{
Write-Host "Not Compliant"
Exit 1
}
else
{
Write-Host "Compliant"
Exit 0
}
Remediation:
New-PSDrive HKU Registry HKEY_USERS | out-null
$user = get-wmiobject -Class Win32_Computersystem | select Username;
$sid = (New-Object System.Security.Principal.NTAccount($user.UserName)).Translate([System.Security.Principal.SecurityIdentifier]).value;
New-Item -Path HKU:\$sid\Software\Policies\Microsoft\Windows -Name WindowsCopilot -Force
$key = "HKU:\$sid\Software\Policies\Microsoft\Windows\WindowsCopilot"
$val = (Get-Item "HKU:\$sid\Software\Policies\Microsoft\Windows\WindowsCopilot") | out-null
$reg = Get-Itemproperty -Path $key -Name TurnOffWindowsCopilot -erroraction 'silentlycontinue'
if(-not($reg))
{
Write-Host "Registry key didn't exist, creating it now"
New-Itemproperty -path $Key -name "TurnOffWindowsCopilot" -value "1" -PropertyType "dword" | out-null
exit 1
}
else
{
Write-Host "Registry key changed to 1"
Set-ItemProperty -path $key -name "TurnOffWindowsCopilot" -value "1" | out-null
Exit 0
}
How to disable every version of copilot?
byu/davidS2525 insysadmin
Leave a Reply