Dans un environnement d’entreprise, les utilisateurs n’ont souvent pas les droits pour installer eux-mêmes des extensions dans Google Chrome. Alors, que vous souhaitiez déployer une extension développée en interne ou une extension du Chrome Web Store, il est possible de forcer son installation de manière contrôlée et automatisée.
Dans cet article, nous vous montrons comment déployer une extension Chrome avec PowerShell, via une modification du registre Windows.
Objectif
Permettre le déploiement silencieux d’une extension Chrome sur les postes utilisateurs sans intervention manuelle, et sans passer par le Chrome Web Store en session utilisateur.
Étape 1 : Télécharger l’extension au format .crx
Google ne fournit pas directement les .crx
à télécharger depuis le Web Store. Pour cela :
- Rendez-vous sur https://chrome-extension-downloader.com
- Entrez ensuite l’ID de l’extension
- Pour le récupérer :
- Installez l’extension sur un poste de test
- Allez dans
chrome://extensions/
- Activez le mode développeur
- L’ID sera visible dans la fiche de l’extension
- Pour le récupérer :
📦 Exemple d’ID :
aapocclcgogkmnckokdopfmhonfmgoek
Téléchargez le fichier .crx
et conservez-le avec le script PowerShell.
Étape 2 : Définir un dossier de stockage local
Choisissez un chemin unique, accessible en lecture par tous les utilisateurs, pour héberger le fichier .crx
:
C:\Program Files\Google\Extensions\
Étape 3 : Créer la clé de registre pour forcer l’installation
Chrome permet de forcer l’installation d’une extension via le registre. Il faut créer une clé dans :
HKLM\SOFTWARE\Google\Chrome\Extensions\<Extension_ID>
Dans cette clé, créez ensuite deux valeurs :
Nom | Type | Valeur |
---|---|---|
path | REG_SZ | Chemin complet vers le fichier .crx |
version | REG_SZ | Numéro de version de l’extension |
Étape 4 : Script PowerShell de déploiement
Voici un exemple de script PowerShell prêt à déployer :
$executingScriptDirectory = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition
$crxPath = "C:\Program Files\Google\Extensions"
$extID = "votre_extension_id"
$extVersion = "1.0.0.0"
# Création du dossier s’il n’existe pas
if (!(Test-Path -Path $crxPath)) {
New-Item -ItemType Directory -Path $crxPath -Force
}
# Copie de l’extension
Copy-Item "$executingScriptDirectory\Extension.crx" "$crxPath\Extension.crx" -Force
# Clé de registre
$regPath = "HKLM:\SOFTWARE\Google\Chrome\Extensions\$extID"
New-Item -Path $regPath -Force | Out-Null
New-ItemProperty -Path $regPath -Name "path" -Value "$crxPath\Extension.crx" -PropertyType String -Force
New-ItemProperty -Path $regPath -Name "version" -Value $extVersion -PropertyType String -Force
Ce script peut être déployé via SCCM, Intune ou GPO, en ligne de commande ou en package.
Comportements à connaître
Scénario de déploiement | Comportement |
---|---|
Intégré à un master ou image OS | L’extension est automatiquement activée dans Chrome |
Déploiement post-installation (ex : SCCM) | Chrome affichera une notification et l’utilisateur devra activer manuellement l’extension |
Conseils et bonnes pratiques
- Si vous souhaitez forcer l’activation de l’extension sans action utilisateur, il est recommandé de passer par une stratégie GPO ou MDM (Intune).
- Vérifiez aussi que les droits NTFS sur le fichier
.crx
permettent la lecture pour tous les utilisateurs. - Enfin, pensez à inventorier les extensions installées avec une classe WMI personnalisée, comme présenté dans notre guide dédié.
Déployer une extension Chrome : Conclusion
Le déploiement d’une extension Chrome dans un environnement d’entreprise peut être automatisé efficacement via PowerShell et le registre Windows. Cette méthode est simple, flexible et s’adapte aux environnements où les droits utilisateurs sont restreints.
Elle peut également se combiner à SCCM ou Intune pour un déploiement à grande échelle. Enfin, pour aller plus loin, n’oubliez pas de suivre l’inventaire des extensions pour détecter les usages non conformes ou généraliser les déploiements utiles.