Pendo Launcherをintune経由で展開する


SaaSアプリケーション上にPendoを有効化するには、Pendoのブラウザ拡張アプリを導入する必要があります。

[Chrome 版:](https://chrome.google.com/webstore/detail/pendo-launcher/epnhoepnmfjdbjjfanpjklemanhkjgil)

[Edge 版:](https://microsoftedge.microsoft.com/addons/detail/pendo-launcher/lgpofjmgggolmabddgdmbgipcnblpnbm)

Pendo Launcherに分析対象のアプリを認識させるには、Pendoの設定も各マシンに配布する必要があります。

Powershellで配布する場合は公式KBを参照。

[IT Path For Extension Deployment Via Microsoft Edge on Windows – Pendo Adopt](https://adoptsupport.pendo.io/hc/en-us/articles/4412464255771-IT-Path-For-Extension-Deployment-Via-Microsoft-Edge-on-Windows)


拡張アプリの配布とレジストリをIntune経由で配布する方法をまとめてみました。



# やること

1. Pendo Launcherをintune経由でマシンにインストールするポリシーを設定する
2. ユーザーの識別に必要なvisitor ID、APIKEY情報をレジストリに書き込む



# Pendo Launcherを各ブラウザに配布する

1: End point managerを開き、拡張機能を配布するための構成プロファイルを作成する

https://endpoint.microsoft.com/#home

ホーム > デバイス > 構成プロファイル > プロファイルの追加

![CleanShot 2022-11-02 at 17.58.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/c644f657-0482-9324-1a05-845d037bb75c.png)



2: Windows 10以降 と設定カタログを選択
![CleanShotLZg03h9l@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/9fdfe497-d8fc-3d57-b5e6-6afa57b9a7b9.png)


3:  適当な名前をつけて保存

   
![CleanShotI8RYTvvS@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/928e966e-a71a-5410-3f2d-246175825a7d.png)


4: サイレントインストールされる拡張機能設定を選択
（HKLMにするかUserレジストリにするか選択可能。この例ではHKLMを選択

![CleanShotwdna4a4F@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/f1d3c8e9-8154-62fd-830d-89aa4834d95e.png)


5: 設定にEdge Webstore上の識別子と更新用設定を入力

lgpofjmgggolmabddgdmbgipcnblpnbm;https://edge.microsoft.com/extensionwebstorebase/v1/crx

![CleanShoteqCBNx99@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/07ab9851-2432-8384-2470-92eaaf736af7.png)


6: このポリシーを割り当てるユーザーを選択し保存します。

これで順次Pendo Launcherの拡張機能が配布されていきます。



# レジストリに必要な情報を書き込む

アプリ上で行ったアクティビティをPendoに送るために、Pendo Launcherに`APIKey`と`Visitor ID`を設定する必要があります。

APIKeyはPendoアプリ内の管理画面から取得できる値です。

Visitor IDはユーザー固有のIDを付与します。一般的には社員番号やEmail addressが使用されます。

（かならずしもユーザーを特定できる値である必要はなく、固有のIDであれば何でも化。）



この２つの値をレジストリに書き込む必要があります。Pendo Launcherはレジストリの値を参照します。

Pendoのヘルプ記事では、HKLM内のEdgeレジストリ書き込みを行っています。

[WindowsでのMicrosoft Edgeへの拡張機能の導入方法 – Pendo Adoptヘルプセンター](https://adoptsupport.pendo.io/hc/ja/articles/4412464255771-WindowsでのMicrosoft-Edgeへの拡張機能の導入方法)


HKLMだとシステムユーザー(管理権限をもつユーザー)しか書き込みができず、スクリプト実行にどのユーザー情報をレジストリに書き込みを行おうとしているのか特定が困難な場合があります。

本稿ではHKCUレジストリにユーザー権限で書き込む方法を記載しています。
拡張機能自体はIntune経由でHKLMに保存。管理者権限がないとアンインストールできないように設定し、visitorID情報はユーザー権限でも書き込める状態です。

## 書き込みスクリプトの用意

```powershell
#レジストリの場所
$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: デバイス＞スクリプトから追加

![CleanShotUy6NZO6P@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/62150aa8-fdc7-414e-5a1c-3cd218f219c8.png)


2: スクリプト設定
  先程書いたスクリプトをアップロードし、スクリプトをログオンしたユーザーの資格情報で実行を選択

![CleanShotSCx3rivI@2x-3006686.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/1803971f-ab27-14cb-7bd7-60a6a5d2b1ab.png)

3: 割り当てるユーザーを選択し、保存


しばらくするとPendo Launcherがインストールされ、Visitor IDとAPIKEY情報がレジストリから読み込まれPendo上で設定サイトが認識できるようになります。
Pendoアイコンがピンク色にともっていればインストールがうまくできています。

Officeにガイドを出している図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/891ddbdb-71c3-ded9-75f3-a968261b1c8e.png)


# まとめ
Intune経由でPendo Launcherとユーザー情報の書き込み方法をまとめてみました。
本稿では、whoamiを使用してユーザー情報をレジストリに書き込みしていますが、レジストリ(HKLM or User)に書き込みができればユーザーを特定する文字列の取得方法は問いません。