こんにちは!tsuji です!
今回は、Intune で Windows 端末にインストールされている Netskope Client を、複数端末から一括でアンインストールしたい方や再インストールしたい方向けに、実装方法を解説します。
Netskope Client のアンインストールスクリプトは公式ドキュメントでも紹介されていますが、本記事では Intune での実装向けに最適化した弊社スクリプトを使って実装します。
実装の全体像
実装の手順としては、以下の URL から各種スクリプトをダウンロードしていただき、intunewin 化とアプリの登録を行うだけです。
GitHub:https://github.com/cloudnative-co/intune-uninstall-netskope
この方法のポイントは、Win32 アプリの「インストールコマンド」にアンインストールスクリプトを設定し、検出規則を「Netskope が存在しなければ検出 (= 成功)」と逆転させている点です。これにより、アンインストールの実行と完了確認を Intune の標準機能だけで行えます。
→ 検出規則の評価:Netskope あり = 「未検出」
→ インストールコマンド (実体はアンインストール) 実行
→ stAgentSvc.exe が消える
→ 検出規則の評価:Netskope なし = 「検出」
→ Intune へ正常完了報告 (レポート上は Installed)スクリプトの説明
各種スクリプトの動作の簡易的な説明については、以下をご参考ください。
| ファイル | 用途 |
|---|---|
Uninstall-Netskope.ps1 | アンインストール本体。intunewin に含める |
Detect-Netskope.ps1 | 検出スクリプト。intunewin には含めず、Intune の検出規則に登録する |
- Netskope Client をサイレントにアンインストールします (削除専用)
- 32bit / 64bit のどちらでもアンインストールできます
- Netskope のインストーラー (STAgent.msi) は不要です
- アンインストールパスワード (改ざん防止) が設定されたテナントにも対応しています
編集が必要な箇所は 1 か所だけです。テナントでアンインストールパスワードを設定している場合は、Uninstall-Netskope.ps1 の先頭にある以下の変数にパスワードを入力してください。
$UninstallPassword = ''| 運用 | 設定 |
|---|---|
| アンインストールパスワードなし | '' のまま (編集不要) |
| アンインストールパスワードあり | '' の中にテナントのパスワードを入力 |
実装手順
1. スクリプトのダウンロード
GitHub リポジトリの「Code」→「Download ZIP」からダウンロードし、任意のフォルダに展開します。
2. intunewin 化
Microsoft Win32 Content Prep Tool (IntuneWinAppUtil.exe) を使用して intunewin 化します。コマンドプロンプトから実行してください (管理者権限の有無はどちらでも可)。
本記事では、以下のフォルダ構成を例に進めます。
C:\Work
├── IntuneWinAppUtil.exe
├── Source ← ソースフォルダ
│ └── Uninstall-Netskope.ps1
└── Output ← 出力先フォルダ (空でOK)コマンドプロンプトを開き、pushd コマンドで IntuneWinAppUtil.exe のあるフォルダへ移動してから実行します。
pushd C:\Work
IntuneWinAppUtil.exe -c C:\Work\Source -s Uninstall-Netskope.ps1 -o C:\Work\Output出力先フォルダに Uninstall-Netskope.intunewin が生成されます。
3. Intune への登録
Intune 管理センターから [アプリ] → [Windows] → [+ 作成] を選択し、アプリの種類で「Windows アプリ (Win32)」を選択します。作成した Uninstall-Netskope.intunewin をアップロードしてください。
以降は、本記事の構成で設定が必要な箇所のみ解説します。[アプリ情報] や [要件] など、その他のタブは環境に応じて適宜設定を進めてください。
[プログラム] タブでは以下のとおり設定します。
| 項目 | 設定値 |
|---|---|
| インストールコマンド | powershell.exe -ExecutionPolicy Bypass -NoProfile -File .\Uninstall-Netskope.ps1 |
| アンインストールコマンド | cmd /c exit 0 |
| インストールの処理 | システム |
[検出規則] では「カスタム検出スクリプトを使用する」を選択し、Detect-Netskope.ps1 を登録します。
[割り当て] では「必須」で対象グループに割り当てます。
4. 動作確認
対象端末で Intune のポリシーが適用されると、Netskope Client がアンインストールされます。以下の観点で確認できます。
- 端末側:[設定] → [アプリ] の一覧から Netskope Client が消えていること
- Intune 側:アプリの [デバイスのインストール状態] レポートで「Installed」(= 削除完了) になっていること
うまく動作しない場合は、端末の以下のログを確認してください。
C:\ProgramData\IntuneLogs\Netskope-Uninstall.logまとめ
今回は、Intune で Netskope Client を一括アンインストールする方法を解説しました。スクリプトをダウンロードして intunewin 化し、アプリとして登録するだけで、アンインストールの実行から完了確認までを Intune 上で完結できます。再インストールまで行いたい場合は、依存関係を使った構成 (手順 3 の補足参照) もご検討ください。
Netskope に限らず、「Intune 管理下の端末から特定のアプリを確実に剥がしたい」場面は意外と多いので、同じ考え方で応用してみてください。
参考ドキュメント
- GitHub:intune-uninstall-netskope
- Netskope 公式:Uninstalling the Netskope Client
https://docs.netskope.com/en/uninstalling-the-netskope-client
- Microsoft Learn:Prepare Win32 app content for upload
https://learn.microsoft.com/en-us/intune/app-management/deployment/create-win32-package
- Microsoft Learn:Add and Assign Win32 Apps to Microsoft Intune
https://learn.microsoft.com/en-us/intune/app-management/deployment/add-win32