概要
本ページでは、Microsoft Intuneを利用してWindowsデバイスに対してJosysブラウザ拡張機能をサイレントインストール/アクティベーションする手順を詳細に解説します。
先に下記の処理を実行してから、当マニュアルの作業を実行してください。
Intuneを使ってWindowsデバイスに拡張機能をサイレントインストール・アクティベーションする方法(1/2)
想定読者
Josysブラウザ拡張機能の一括展開を計画・実施されるご担当者様
ブラウザ拡張機能について
ブラウザ拡張機能に関する情報は、下記のページをお先にご覧ください。
1.ブラウザ拡張機能について
2.ブラウザ拡張機能のご利用方法
サイレントインストールの手順
0.事前確認
過去に拡張機能を強制インストールしたことがあるかどうかのご確認をお願いします。
確認手順
- レジストリエディタを開いてください。
- 下記のキーを開いてください
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist
HKEY_CURRENT_USER\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist - キーの中に何かしらの拡張機能の値があるかどうかを確認してください。
- 下記のキーを開いてください。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallForcelist
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallForcelist
- キーの中に何かしらの拡張機能の値があるかどうかを確認してください。
- 値がない場合、下記の目次に進んでください。
1.設定プロファイルの作成 - 値があるもしくは、不明である場合、下記をご確認ください。
<過去に拡張機能を強制インストールしたことのある方>
1.設定プロファイルの作成
- Microsoft Intune管理センターにサインインします。
- 「デバイス」>「デバイスの管理」>「構成」を開きます。
- 「+作成」>「+新しいポリシー」をクリックします。
- 「プロファイルの作成」という画面が右側に開いたことを確認します。
- 以下の通り、項目を入力します。
プラットフォーム:Windows 10 以降
プロファイルの種類:設定カタログ - 入力が完了したら、下部にある「作成」をクリックします。
- 画面が遷移したら、「プロファイルの作成」ページの、「基本」タブが開かれていることを確認し、以下の通り、項目を入力します。
名前: (例: ジョーシスEdge拡張機能の強制配布ポリシーWindows用)
説明: (任意) - 入力が完了したら、下部にある「次へ」をクリックします。
⚠️次のステップより、ご利用のブラウザによって設定方法が異なりますため、対象のブラウザのマニュアルをご確認ください。
Google Chrome:
Microsoft Edge:
2-1.Google Chrome設定の構成
- 画面が遷移したら、「プロファイルの作成」ページの、「構成設定」タブが開かれていることを確認してください。
- 「+ 設定の追加」をクリックし、「Google」で検索します。検索結果より「Google Google Chrome 拡張機能」を選択します。
- 「Configure the list of force-installed apps and extensions」を選択してください。
- 設定を「有効」にしてしてください。
- 「Extension/App IDs and update URLs to be silently installed 」の欄に、下記をご入力ください。
moaklgcgokbgplldonjkoochhlefkbjf;https://clients2.google.com/service/update2/crx - 下部にある「次へ」をクリックします。
- 対象デバイスの割り当てに進んでください。
2-2.Microsoft Edge設定の構成
- 画面が遷移したら、「プロファイルの作成」ページの、「構成設定」タブが開かれていることを確認してください。
- 「+ 設定の追加」をクリックし、「Microsoft Edge」で検索します。検索結果より「Microsoft Edge 拡張機能」を選択します。
- 「Control which extensions are installed silently」を選択してください。
- 設定を「有効」にしてしてください。
- 「拡張子 ID/アプリ ID と、サイレント インストールされる更新 URL 」の欄に、下記をご入力ください。
hjifncajikcdkhlofdjjlhcjoennmdfc;https://edge.microsoft.com/extensionwebstorebase/v1/crx - 下部にある「次へ」をクリックします。
- 対象デバイスの割り当てに進んでください。
3.対象デバイスの割り当て
- スコープタグの設定は任意です。再度、下部にある「次へ」をクリックしてください。
- 「割り当て」タブが開かれたら、サイレントインストールを実行したいデバイスを選択してください。
※すべてのデバイスにインストールを実行する場合は、「+すべてのデバイスを追加」をクリックしてください。
※まずは少ない数のデバイスにのみテストをしたい場合は、テスト対象のデバイスのみでグループを作成してご実施ください。 - 設定が完了したら、下部にある「次へ」をクリックしてください。
- 画面が遷移したら、下部にある「作成」をクリックしてください。
こちらで、サイレントインストール・アクティベーションの作業は完了です。
⚠️通常、約8時間ごとにインストール/アクティベーションは実行されます。
Intuneからの配布が完了したあとに一度、各ユーザーが利用しているブラウザ(Google Chrome/Microsoft Edge)を閉じていただく必要がございます。
<過去に拡張機能を強制インストールしたことのある方>
0.事前確認の段階で、すでに値が記載されている方は下記をご確認ください。
①設定カタログを利用してインストールをしたことがある
②設定カタログを利用しないでインストールをしたことがある
①設定カタログを利用してインストールをしたことがある
過去に管理用テンプレートを利用してインストールをしたことがある場合、同様の手順でJosysのブラウザ拡張機能のIDと更新用URLを追加してください。
- Microsoft Intune管理センターにサインインします。
- 「デバイス」>「デバイスの管理」>「構成」を開きます。
- インストール時に作成した構成ポリシーをクリックします。
- 最下部にある「構成設定」の横にある「編集」をクリックします。
- ここからは下記と同じ手順で進めてください。
Google Chrome:2-1.Google Chrome設定の構成
Microsoft Edge:2-2.Microsoft Edge設定の構成
②設定カタログを利用しないでインストールをしたことがある
デバイス管理ツールのエージェントをインストールすると自動的にブラウザ拡張機能も追加されることがあります。これに限らず、直接強制インストールのレジストリに値を書き込んでいる場合、設定カタログ(IntuneやAD)を用いて設定すると、既存の値を上書きしてしまいます。
スクリプトで既存の値を上書きせず新しい値としてレジストリに書き込むようにすることでこの問題を回避します。
事前準備
先に下記のスクリプトをテキストなどにペーストし、[Set-ForcedExtensions.ps1]というファイル名で保存してください。(日本語文字が含まれますので、文字コードによるエラーなどを確実に回避するため、Power Shell ISE などのエディタで確認してください)
スクリプト(クリックすると開きます)
<#
.SYNOPSIS
Google ChromeおよびMicrosoft Edgeの拡張機能強制インストールリストにエントリを追加します。
既存の数値の値名がある場合、新しい値名として既存の最大数値に1を加えたものを使用します。
.DESCRIPTION
このスクリプトは、指定されたブラウザ拡張機能を強制インストールするためにレジストリを変更します。
ExtensionInstallForcelistキー配下に既にエントリが存在する場合の競合を避けるため、
次に利用可能な数値のレジストリ値名(例: "1", "2", "3", ...)を自動的に決定します。
HKEY_LOCAL_MACHINEへの書き込みには管理者権限が必要です。
.NOTES
作成日: 2025-05-15
このスクリプトは管理者として実行する必要があります。
#>
#Requires -Version 5.1
#Requires -RunAsAdministrator
function Add-ForceListedExtension {
[CmdletBinding(SupportsShouldProcess=$true)]
param (
[Parameter(Mandatory=$true)]
[string]$RegistryKeyPath,
[Parameter(Mandatory=$true)]
[string]$ExtensionData,
[Parameter(Mandatory=$true)]
[string]$BrowserName
)
Write-Host "処理中 ($BrowserName): 拡張機能 '$ExtensionData' をパス '$RegistryKeyPath' に追加しようとしています。"
try {
# レジストリキーパスが存在することを確認(存在しない場合は作成)
if (-not (Test-Path $RegistryKeyPath)) {
Write-Host "レジストリキーパス '$RegistryKeyPath' が存在しません。作成します..."
New-Item -Path $RegistryKeyPath -Force -ErrorAction Stop | Out-Null
Write-Host "レジストリキーパス '$RegistryKeyPath' を正常に作成しました。"
}
# 次に利用可能な数値のレジストリ値名を決定
$existingProperties = Get-ItemProperty -Path $RegistryKeyPath -ErrorAction SilentlyContinue # キーが存在しない、または値がない場合はエラーにしない
$numericValueNames = @() # 数値のレジストリ値名を格納する配列
if ($existingProperties) {
# PSObject.Properties.Name で全てのプロパティ名(値名)を取得
$numericValueNames = $existingProperties.PSObject.Properties.Name | ForEach-Object {
if ($_ -match "^\d+$") { # 正規表現で完全に数値のみで構成されるかチェック
[int]$_ # 数値に変換
}
} | Sort-Object # 数値としてソート
}
$nextValueNumber = 1
if ($numericValueNames.Count -gt 0) {
$nextValueNumber = $numericValueNames[-1] + 1 # 配列の最後の要素(最大値)+ 1
}
$nextValueName = $nextValueNumber.ToString()
Write-Host "($BrowserName) 次に利用する値の名前は '$nextValueName' です。"
# レジストリ値を追加または更新
if ($PSCmdlet.ShouldProcess("レジストリパス '$RegistryKeyPath' の値 '$nextValueName' にデータ '$ExtensionData' を設定", "レジストリ値の設定")) {
New-ItemProperty -Path $RegistryKeyPath -Name $nextValueName -Value $ExtensionData -PropertyType String -Force -ErrorAction Stop
Write-Host "($BrowserName) レジストリ値 '$nextValueName' をパス '$RegistryKeyPath' にデータ '$ExtensionData' で正常に追加/更新しました。"
}
}
catch {
Write-Error "($BrowserName) パス '$RegistryKeyPath' のレジストリ処理に失敗しました。エラー: $($_.Exception.Message)"
# 詳細なエラー情報が必要な場合は以下のコメントを解除してください
# $_ | Format-List -Force
}
Write-Host ("-" * 70) # 区切り線
}
# --- 設定項目 ---
$ChromePolicyKey = "HKLM:\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist"
$ChromeExtensionValue = "moaklgcgokbgplldonjkoochhlefkbjf;https://clients2.google.com/service/update2/crx"
$EdgePolicyKey = "HKLM:\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallForcelist"
$EdgeExtensionValue = "hjifncajikcdkhlofdjjlhcjoennmdfc;https://edge.microsoft.com/extensionwebstorebase/v1/crx"
# --- スクリプト実行 ---
Write-Host "拡張機能強制インストールリスト設定スクリプトを開始します..."
Write-Host ("=" * 70)
# Google Chromeへの設定
Add-ForceListedExtension -RegistryKeyPath $ChromePolicyKey -ExtensionData $ChromeExtensionValue -BrowserName "Google Chrome"
# Microsoft Edgeへの設定
Add-ForceListedExtension -RegistryKeyPath $EdgePolicyKey -ExtensionData $EdgeExtensionValue -BrowserName "Microsoft Edge"
Write-Host ("=" * 70)
Write-Host "スクリプトの実行が完了しました。"
# 対話的に実行していて、出力ウィンドウをすぐに閉じたくない場合は、以下のコメントを解除してください
# Read-Host "何かキーを押すと終了します..."手順
- Microsoft Intune管理センターにサインインします。
- 「デバイス」>「スクリプトと修復」を開きます。
- 「プラットフォーム スクリプト」をクリックします。
- 「+追加」ボタンをクリックし、「Windows 10 以降」をクリックします。
- 画面が遷移したら、「基本」タブが開かれていることを確認し、以下の通り、項目を入力します。
名前: (例: Force Install Browser Extensions (HKLM))
説明: (任意) - 入力が完了したら、下部にある「次へ」をクリックします。
- 画面が遷移したら、「スクリプト設定」タブが開かれていることを確認してください。
- 「スクリプトの場所」のファイル参照欄の右側にあるフォルダボタンをクリックし、最初に保存したスクリプトをアップロードします。
- 下記のように設定してください。
このスクリプトをログオンしたユーザーの資格情報を使用して実行する:「いいえ」
スクリプト署名チェックを強制:「いいえ」
64ビットのPower Shell ホストでスクリプトを実行する:「はい」 - 選択が完了したら、ページ下部にある「次へ」をクリックしてください。
- ページが遷移したら、「割り当て」タブが開かれていることを確認してください。
- 拡張機能を有効化をさせたいデバイスを選択します。
※一部のデバイスにのみ拡張機能を有効化させたい場合:「グループを追加」から対象グループを選択してください。
※すべてのデバイスに拡張機能を有効化させたい場合:「すべてのデバイスを追加」を追加を選択してください。 - 選択が完了したら、ページ下部にある「次へ」をクリックしてください。
- 最終確認画面が表示されます。内容を確認し、ページ下部にある「作成」をクリックしてください。