MITERAS仕事可視化エージェントをIntune経由でWindowsに配布する手順

労務の可視化・監査対応の一環で、PCログ収集ツール MITERAS仕事可視化(パーソルビジネスプロセスデザイン提供)を導入することになった。

MITERASは、対象PCに専用エージェントを入れると、PCの起動・終了や操作/無操作の状況を自動で収集し、勤怠申告との乖離チェックなどができるSaaSだ。導入自体はエージェントを配るだけ……なのだが、MDM経由の配布手順はベンダー側で用意されておらず、各社で自力で組む必要があるのが実情だった(この時点で若干いやな予感がする)。

自分が支援している会社ではWindowsをIntune、macOSをJamf Proで管理しているので、この記事では Windows × Intune のパターンをまとめる。macOS × Jamf 版は別記事で書いているので、Macメインの人はそっちを見てほしい。

結論から言うと、配布そのものは難しくない。本当にハマるのは「Intune上はインストール成功なのに、MITERAS側にログが出てこない」というその先のフェーズだ。そこも含めて書く。

📌 この記事でわかること
  • ▶ MSIを .intunewin に変換してIntuneに登録する具体的な手順
  • ▶ インストールコマンド・アンインストールコマンド・検出ルールの正しい設定値
  • ▶ Windows実機がないMac派向けの .intunewin 変換の逃げ道
  • ▶ 「インストール成功なのにログが出ない」ときの切り分けチェックリスト

▼全体の流れ

やることは大きく4ステップ。

  • STEP 0. MSIから識別情報(ProductCodeなど)を抜く
  • STEP 1. MSIを .intunewin 形式に変換する
  • STEP 2. Intuneに Win32アプリとして登録する
  • STEP 3. テスト配布して、インストール&ログ取得を確認する

▼STEP 0. MSIから識別情報を抜いておく

後のIntune設定(アンインストールコマンド・検出ルール)で MSIのProductCode が必要になるので、先に抜いておく。

  • Windowsの場合:Microsoftの Orca(Windows SDK付属)でMSIを開き、Property テーブルを見る
  • Mac / Linuxの場合:msitools を入れて msiinfo で抜ける
# Mac (Homebrew) / Linux # msiinfo で Property テーブルを export msiinfo export MiterasWVAgentSetup_Ver2_7_1_1.msi Property

抜けてくる主な値(下は Ver2.7.1 の例。バージョンが変われば当然変わるので、必ず自分のMSIから確認すること):

項目 値(Ver2.7.1の例)
ProductName MiterasWVAgent
ProductVersion 2.7.1
ProductCode {38535567-A6B8-44D1-8639-0EE7C0DF79BA}
UpgradeCode {C72C3BF1-542E-464A-836C-F038ECF8BA27}

依存関係として .NET Framework 4.5.2 が必要だが、Windows 10/11なら標準で入っているので通常は気にしなくていい(かなり古い端末が混ざっている場合だけ一応注意)。

▼STEP 1. MSIを .intunewin に変換する

IntuneのWin32アプリは、MSIやEXEをそのまま登録できず、.intunewin という専用形式にパッケージし直す必要がある。中身は「ソースをZIP化してAES-256で暗号化したもの+メタデータ」という構造だ。

王道:Windows端末で公式ツールを使う

Microsoftが配布している Win32 Content Prep ToolIntuneWinAppUtil.exe)を使う。GitHubの microsoft/Microsoft-Win32-Content-Prep-Tool からダウンロードできる。

IntuneWinAppUtil.exe -c <ソースフォルダ> -s <セットアップファイル> -o <出力フォルダ> # 例:MSIを1個だけ入れたフォルダを指定 IntuneWinAppUtil.exe -c C:\work\miteras -s MiterasWVAgentSetup_Ver2_7_1_1.msi -o C:\work\out
💡 ポイント
ソースフォルダにはそのMSIだけを入れておくこと。余計なファイルがあると一緒に固められる。

Windows実機がない場合(Mac派の人向け)

IntuneWinAppUtil.exeWindows専用だ。手元がMacしかないと詰む。その場合の選択肢はこう。

  • ▶ Windows VM / 検証機を1台立てて公式ツールを回す(一番確実
  • ▶ クロスプラットフォーム対応のOSS変換ツールを使う(Go製の content-prep 系など、.intunewin を生成できるものがいくつか存在する)
⚠️ OSSを使う場合の注意
.intunewin は暗号化方式(AES-256-CBC+HMAC-SHA256)が公式と一致していないと、端末側の復号でコケてインストールに失敗する。必ず検証機で「配布→インストール成功→検出」まで通ることを確認してから本番に使うこと。心配なら、生成物を一度復号し直して元のMSIとバイト一致するか確認しておくと安心。

▼STEP 2. Intuneにアプリを登録する

Intune管理センター → アプリ → Windows → 追加 → アプリの種類「Windows アプリ (Win32)」 で進む。

① アプリ情報

  • ▶ 作成した .intunewin をアップロード
  • ▶ 名前・発行元などは、MSIのメタデータから自動で読み込まれる(発行元にベンダー名が入っていれば、中身がちゃんと認識されている証拠)

② プログラム

ここが配布の心臓部。

項目 設定値
インストールコマンド msiexec /i "MiterasWVAgentSetup_Ver2_7_1_1.msi" /qn
アンインストールコマンド msiexec /x "{38535567-A6B8-44D1-8639-0EE7C0DF79BA}" /qn
インストールの処理 システム(デバイス単位で入れる)

/qn は完全サイレント。アンインストールは STEP 0 で抜いた ProductCode を使う。

⚠️ 伏線
この /qn が、後述の「ログが取れない問題」の伏線になる。覚えておいてほしい。

③ 必要条件

  • OSアーキテクチャの確認:「いいえ(すべてのシステムに許可)」でOK。無理に絞る必要はない
  • 最小なOS:Windows 10 1607 を選んでおけば、現行のWin10/11がまるっと対象になる
  • ディスク領域 / 物理メモリ / 論理プロセッサ / CPU速度:すべて空でOK
💡 ここを埋めないのがコツ
必要条件を埋めると、条件を満たさない端末が勝手に対象外になって「なんで入らないの?」の原因になる。むしろ入れないほうが安全。

④ 検出規則

「規則の形式」のプルダウンには「手動」と「カスタム検出スクリプト」しか出ないが、MSI用の検出は 「手動で構成する」のまま、下の「+追加」から 設定する。

  • ▶ 規則の種類:MSI
  • ▶ MSI製品コード:STEP 0 のProductCodeが自動で入る(緑チェックが付けばOK)
  • ▶ MSI製品バージョンの確認:いいえ(まずはバージョン縛りなしで十分)

これで「ProductCodeが存在する=インストール済み」と判定される。ファイルパスやレジストリで頑張る必要はない。

⑤ 依存関係 / ⑥ 置き換え

今回はどちらも何も触らずスキップ

⑦ 割り当て

⚠️ いきなり全社に割り当てないこと
まずはテスト用のグループを1個だけ「必須」でアサインして、動作確認してから広げる。

⑧ 確認と作成

内容を確認して作成。アップロードに数分かかる。

▼STEP 3. 配布・インストールを確認する

作成後、テスト端末に降りてくると、アプリの 概要 → デバイスの状態 で結果が見える。「インストール済み」がカウントされ、「失敗」が0なら、Intune的な配布は成功だ。

端末側で詳しく見たいときは、このログを確認する。

C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log

ここまでで「MSIが端末に入る」ところまでは完了。だが、本番はここから

▼最大のハマりどころ:「インストール成功」なのにログが出ない

ここが本題だ。

Intuneの「インストール成功」= MITERASでログが取れている、ではない。
Intuneが保証してくれるのは「MSIを実行して正常終了した」ところまで。その先の「エージェントが常駐して、サーバにログを送って、マスタと突合されて画面に出る」は、また別の話だ。

実際、Intune上は2台ともインストール済み・失敗0なのに、MITERASの個人画面のPCログ列がまるっと空、という状態が起きる。切り分けのチェックリストを、疑わしい順に置いておく。

① エージェントが本当に常駐起動しているか(最有力)

/qn のサイレントインストールだと、インストールは完了しているのにエージェントの初回起動フックが走っていないことがある。

  • ▶ タスクマネージャー / services.msc に Miteras系のプロセス・サービスがいて「実行中」か確認
  • ▶ いなければ、その端末を再起動 or 対象ユーザーで再ログオン してみる

macOS側の導入でも「起動用スクリプトを一緒に配らないとログが取れなかった」というケースがある。「入れただけでは動き出さない」パターンはWindowsでも十分あり得るので、まずここを疑うのが吉。

② マスタの登録キーと端末のログインアカウント名が一致しているか

MITERASは、管理画面でユーザーを登録すると、そのキー(ログインアカウント名やメールアドレス)とエージェントが送ってくる識別子を完全一致(exact match)で突合してログを紐づける。

ここでよくやるのが、Windowsのログインアカウント名の表記ゆれ。マスタ側が「ローマ字」なのに端末の %USERNAME% が「漢字」だったり、その逆だったり。1文字でも違うと紐づかない。

  • ▶ 端末で echo %USERNAME% した値
  • ▶ MITERASマスタに登録した値

この2つがドンピシャ一致しているかを確認する。フリートが大きいほど、この表記ゆれは事前に棚卸ししておく価値がある。

③ エージェントが正しいテナントを向いているか

トライアル環境と本番環境が分かれている場合など、エージェントの接続先テナントがずれていると、ログは送られているのに「見ている画面には出ない」状態になる。

MITERASの管理画面にある「エージェントのダウンロード / 配布手順」に、テナント紐付けの方法(専用インストーラなのか、企業コードや設定ファイルを同梱するのか)が書かれているはずなので、そこと配布物が一致しているか確認する。

④ PC・アカウントを共有していないか

ログインアカウントやPC自体を複数人で共有している環境だと、正常にデータが取れないことがある。検証機を使い回していると、ここで足をすくわれる。

一番速い切り分け方

✅ 検証機1台に手動でGUIインストール(ダブルクリックでウィザードを進める)してみて、そっちでログが出るか比較するのが早い。
  • 手動だと出る → 原因はサイレント配布時の設定/起動まわり。Intuneのインストールコマンドに引数を足すか、設定ファイルを同梱して再パッケージすれば解決
  • 手動でも出ないマスタ突合 or テナント設定側の問題

▼まとめ

  • Intuneの配布自体は素直。MSIを .intunewin にして、検出ルールをMSI(ProductCode)にすれば通る
  • .intunewin 変換の公式ツールは Windows専用。Mac派はVMかOSS変換ツールを用意する
  • ▶ 検出ルールは MSI ProductCode一発でよい。必要条件は最小OSだけ入れて他は空
  • 本当の勝負はインストールの後。「Intune成功 ≠ ログ取得」。エージェントの常駐起動・マスタの表記ゆれ突合・テナント向き先、この3つを重点的に確認する
  • ▶ ベンダーはMDM別の配布手順を用意していないので、検証機で回して潰すのが結局いちばんの近道

MITERASに限らず、この手の「エージェントを配って初めて価値が出る」系のツールは、配布フローよりも配布後の突合と常駐確認でハマりがちだ。同じところで悩んでいる情シスの参考になれば。

※本記事の設定値(ProductCode等)はエージェント Ver2.7.1 時点のもの。バージョンやテナント構成により異なる場合があるので、実際の値は必ずお手元のMSI・管理画面で確認してください。

📅 30分無料相談、受け付けています

「MDM経由の配布手順がベンダーから用意されてなくて、自力で組むしかない」——そういう”公式手順がない系”のツール展開でつまずいたら、お気軽にどうぞ。IntuneもJamfも、配布設計から一緒に組みます。

📅 30分無料相談を予約する →