Intune で Netskope Client を一括アンインストールする方法

Toshiki Tsuji
Toshiki Tsuji

情報システムセキュリティアドバイザー

こんにちは!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 の先頭にある以下の変数にパスワードを入力してください。

powershell
$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 のあるフォルダへ移動してから実行します。

javascript
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」(= 削除完了) になっていること

うまく動作しない場合は、端末の以下のログを確認してください。

javascript
C:\ProgramData\IntuneLogs\Netskope-Uninstall.log

まとめ

今回は、Intune で Netskope Client を一括アンインストールする方法を解説しました。スクリプトをダウンロードして intunewin 化し、アプリとして登録するだけで、アンインストールの実行から完了確認までを Intune 上で完結できます。再インストールまで行いたい場合は、依存関係を使った構成 (手順 3 の補足参照) もご検討ください。

Netskope に限らず、「Intune 管理下の端末から特定のアプリを確実に剥がしたい」場面は意外と多いので、同じ考え方で応用してみてください。

参考ドキュメント

この記事をシェア