2019-Jul-07
I’ve been following the Windows MDM landscape closely as it’s evolved drastically over the course of the past few years, as capabilities to enforce the same policies one might take for granted in a legacy Active Directory environment have slowly trickled into Microsoft’s own native Intune system. As Windows use has also become more common in my corporate environment, which happens to be a G Suite shop, the ability to enforce Google Chrome policy on Windows has become increasingly important as well.
Although Google has published their own documentation page, Manage Chrome Browser with Microsoft Intune, critical details have sadly remained missing or incorrect for a while now, leaving it up to industry professionals to piece together working configurations or wait patiently for Google to complete and correct their documentation.
After finally getting this working myself, I want to make sure I document it for others, as well as my own future use. Here is how I’ve successfully used Intune to blacklist all Chrome extensions by default, whitelist specific Chrome extensions if the end user wants to opt-in to install them, and force installation of other specific Chrome extensions without requiring user input or approval:
Windows 10 – Chrome configuration
Configure Chrome via ingested ADMX
Windows 10 and later
Custom
Custom
(select from drop-down list)Chrome ADMX Ingestion
Ingest Chrome ADMX
./Device/Vendor/MSFT/Policy/ConfigOperations/ADMXInstall/Chrome/Policy/ChromeAdmx
String
(select from drop-down list)Chrome – ADMX – ExtensionInstallBlacklist
Blacklist All Chrome Extensions by Default
./Device/Vendor/MSFT/Policy/Config/Chrome~Policy~googlechrome~Extensions/ExtensionInstallBlacklist
String
(select from drop-down list)<enabled/> <data id="ExtensionInstallBlacklistDesc" value="1*"/>
Chrome – ADMX – ExtensionInstallWhitelist
Whitelist Specific Chrome Extensions
./Device/Vendor/MSFT/Policy/Config/Chrome~Policy~googlechrome~Extensions/ExtensionInstallWhitelist
String
(select from drop-down list)<enabled/> <data id="ExtensionInstallWhitelistDesc" value="1aomjjhallfgjeglblehebfpbcfeobpgk2aeblfdkhhhdcdjpifhhbdiojplfjncoa"/>
Note: for the Value field, when creating a key-value pair list with multiple entries, use 
as the separator.
Chrome – ADMX – ExtensionInstallForcelist
Force Specific Chrome Extensions
./Device/Vendor/MSFT/Policy/Config/Chrome~Policy~googlechrome~Extensions/ExtensionInstallForcelist
String
(select from drop-down list)<enabled/> <data id="ExtensionInstallForcelistDesc" value="1cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx"/>
Note: for the Value field, when creating an ExtensionInstallForcelist, each Chrome extension entry should have its installation source URL appended to the extension ID following a semicolon. In my example, cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx
forces installation of extension ID cjpalhdlnbpafiamejdnhcphjbkeiagm
from source https://clients2.google.com/service/update2/crx
(direct from Google itself).
chrome://policy
to verify that the policy you set is enforced.As you can see if you read Google’s documentation, they’ve also published their own curated list of Common Chrome Browser policies for Microsoft Intune, which should help get you started if you want to enforce some more policies in addition to my above examples, though this list is unfortunately far from complete for now.