SaaSアプリケーション上にPendoを有効化するには、Pendoのブラウザ拡張アプリを導入する必要があります。
Pendo Launcherに分析対象のアプリを認識させるには、Pendoの設定も各マシンに配布する必要があります。
Powershellで配布する場合は公式KBを参照。
IT Path For Extension Deployment Via Microsoft Edge on Windows – Pendo Adopt
拡張アプリの配布とレジストリをIntune経由で配布する方法をまとめてみました。
やること
- Pendo Launcherをintune経由でマシンにインストールするポリシーを設定する
- ユーザーの識別に必要なvisitor ID、APIKEY情報をレジストリに書き込む
Pendo Launcherを各ブラウザに配布する
1: End point managerを開き、拡張機能を配布するための構成プロファイルを作成する
ホーム > デバイス > 構成プロファイル > プロファイルの追加
3: 適当な名前をつけて保存
4: サイレントインストールされる拡張機能設定を選択
(HKLMにするかUserレジストリにするか選択可能。この例ではHKLMを選択
5: 設定にEdge Webstore上の識別子と更新用設定を入力
lgpofjmgggolmabddgdmbgipcnblpnbm;https://edge.microsoft.com/extensionwebstorebase/v1/crx
6: このポリシーを割り当てるユーザーを選択し保存します。
これで順次Pendo Launcherの拡張機能が配布されていきます。
レジストリに必要な情報を書き込む
アプリ上で行ったアクティビティをPendoに送るために、Pendo LauncherにAPIKey
とVisitor ID
を設定する必要があります。
APIKeyはPendoアプリ内の管理画面から取得できる値です。
Visitor IDはユーザー固有のIDを付与します。一般的には社員番号やEmail addressが使用されます。
(かならずしもユーザーを特定できる値である必要はなく、固有のIDであれば何でも化。)
この2つの値をレジストリに書き込む必要があります。Pendo Launcherはレジストリの値を参照します。
Pendoのヘルプ記事では、HKLM内のEdgeレジストリ書き込みを行っています。
WindowsでのMicrosoft Edgeへの拡張機能の導入方法 – Pendo Adoptヘルプセンター
HKLMだとシステムユーザー(管理権限をもつユーザー)しか書き込みができず、スクリプト実行にどのユーザー情報をレジストリに書き込みを行おうとしているのか特定が困難な場合があります。
本稿ではHKCUレジストリにユーザー権限で書き込む方法を記載しています。
拡張機能自体はIntune経由でHKLMに保存。管理者権限がないとアンインストールできないように設定し、visitorID情報はユーザー権限でも書き込める状態です。
書き込みスクリプトの用意
#レジストリの場所
$EDGE_REGISTRY_BASE = 'Registry::HKEY_CURRENT_USER\Software\Policies\Microsoft\Edge'
$EDGE_WEB_STORE_EXTENSION_ID = 'lgpofjmgggolmabddgdmbgipcnblpnbm'
$EDGE_REGISTRY_EXT_CONFIG = "$EDGE_REGISTRY_BASE\3rdparty\extensions\$EDGE_WEB_STORE_EXTENSION_ID\policy"
#visitor IDの準備。ここでは、UPNをvisitor IDに使用してみました。
$visitorId = whoami /upn
$visitorJson= "{ `"id`": `"$($visitorId)`" }"
$configExists = Test-Path $EDGE_REGISTRY_EXT_CONFIG
#レジストリパスの書き込み
if(-Not $configExists) {
New-Item -Path $EDGE_REGISTRY_EXT_CONFIG -Force
}
#Pendo APIKey
$apiKey = 'xxxxxxxxxxxxxxxxxxxxxx'
#visitor IDとAPIKEYの設定
Set-ItemProperty $EDGE_REGISTRY_EXT_CONFIG -Name APIKey -Value $apiKey
Set-ItemProperty $EDGE_REGISTRY_EXT_CONFIG -Name visitor -Value $visitorJson -Type ExpandString
上記スクリプトをIntune経由で配布します。ログインユーザー権限で実行します。
ログインユーザーで実行することで、ユーザーの情報が whoami
コマンドで取得できます。
上記例では、ユーザーのUPNをvisitor IDに設定しました。
1: デバイス>スクリプトから追加
2: スクリプト設定
先程書いたスクリプトをアップロードし、スクリプトをログオンしたユーザーの資格情報で実行を選択
3: 割り当てるユーザーを選択し、保存
しばらくするとPendo Launcherがインストールされ、Visitor IDとAPIKEY情報がレジストリから読み込まれPendo上で設定サイトが認識できるようになります。
Pendoアイコンがピンク色にともっていればインストールがうまくできています。
まとめ
Intune経由でPendo Launcherとユーザー情報の書き込み方法をまとめてみました。
本稿では、whoamiを使用してユーザー情報をレジストリに書き込みしていますが、レジストリ(HKLM or User)に書き込みができればユーザーを特定する文字列の取得方法は問いません。