Chrome Extension Manifest V2 End of Life
Chrome will begin disabling browser extensions that use the Manifest V2 format at the end of June 2025. Indeed, Chrome is already displaying warnings that this will happen:
The changes in Manifest V3 introduces issues for uBlock Origin (which we deploy via Intune to all endpoints as part of the Essential 8 compliance requirements), which will prevent it from functioning properly.
To buy time until we can find a suitable solution (or for Google to rethink this change - which they won't as blocking ads hurts their business model), we can enable the ExtensionManifestV2Availability
policy option.
At the moment this option is not available via Intune, but we can push the change via a remediation using the following scripts. If you aren't licensed for remediations, you can push these scripts as a Win32 app.
Detection
$RegistryPath = "HKLM:\SOFTWARE\Policies\Google\Chrome"
# Check if the registry key exists
if (Test-Path $RegistryPath) {
# Check if the registry value exists
if (Get-ItemProperty -Path $RegistryPath -Name "ExtensionManifestV2Availability" -ErrorAction SilentlyContinue) {
$ExtensionInstallForcelist = Get-ItemProperty -Path $RegistryPath -Name "ExtensionManifestV2Availability"
# Check if the value is set to 2
if ($($ExtensionInstallForcelist.ExtensionManifestV2Availability) -eq 2) {
Write-Output "Compliant"
Exit 0
}
else {
Write-Output "Not Compliant: Chrome registry value is not set to 2"
Exit 1
}
}
else {
Write-Output "Not Compliant: Chrome registry value not found"
Exit 1
}
}
else {
Write-Output "Not Compliant: Chrome registry key not found"
Exit 1
}
Remediation
$RegistryPath = "HKLM:\SOFTWARE\Policies\Google\Chrome"
# Check if the registry key exists
if (Test-Path $RegistryPath) {
Write-Output "Compliant: Chrome registry key found"
}
else {
# Create the registry key if it does not exist
New-Item -Path $RegistryPath -Force | Out-Null
}
# Check if the registry value exists
if (Get-ItemProperty -Path $RegistryPath -Name "ExtensionManifestV2Availability" -ErrorAction SilentlyContinue) {
Write-Output "Compliant: Chrome registry value found"
}
else {
New-ItemProperty -Path $RegistryPath -Name "ExtensionManifestV2Availability" -Value 2 -PropertyType DWORD -Force | Out-Null
}
# Check if the value is set to 2
$ExtensionInstallForcelist = Get-ItemProperty -Path $RegistryPath -Name "ExtensionManifestV2Availability"
if ($($ExtensionInstallForcelist.ExtensionManifestV2Availability) -eq 2) {
Write-Output "Compliant: Chrome registry value is set to 2"
Exit 0
}
else {
Write-Output "Not Compliant: Chrome registry value is not set to 2"
Exit 1
}