定期実行・無人実行ガイド(Windows Server)
最終更新:2026-07-19
常時起動の Windows Server 2022 / 2025(Desktop Experience 版)で、取得 → 差分 → 設計書を自動実行する手順です。GUI を使うため Server Core は対象外です。定期実行は製品版ライセンスでご利用いただけます。
定期実行の基本
- 「設定 > 定期実行」で、毎日/毎週と時刻を指定して登録します(Windows タスクスケジューラ連携)。
- 「設計書・差分レポートまで生成する」をオンにすると、取得・差分の計算だけでなく設計書(Word/PDF)と差分レポートまで自動生成します。
- オフのときは「取得 → 差分の計算」までです。
既定は「ログオン中のみ実行」です。実行時刻に PC が起動し、サインインしている必要があります。サインアウト中も実行したい場合は次の「無人実行」を設定してください。
無人実行(サインアウト中も実行)
- サーバーに、定期実行を担当させる専用の Windows ユーザーでサインインします(以降のセットアップ・タスク実行をすべて同じユーザーで行うのが重要です)。
- TenantSnap を起動し、初回セットアップで認証情報を保存します(シークレットはこのユーザーに紐づけて暗号化=DPAPI 保存されます)。
- 「設定 > 定期実行」で「無人実行(サインアウト中も実行する)」をオンにし、実行ユーザー(手順 1〜2 と同じユーザー。例:SERVER01\ユーザー名)と Windows のパスワードを入力して保存します。
パスワードはタスク登録にのみ使われ、アプリには保存されません(保存し直すたびに再入力が必要)。タスク登録は Windows のタスクスケジューラ API 経由で行い、パスワードがコマンドライン(プロセス起動の引数)に載ることはありません(コマンドライン監査を有効にした環境でもイベントログに平文が記録されません)。
重要:認証情報(DPAPI)の制約
認証情報は「保存したユーザー」だけが復号できます。次の構成では復号に失敗するため対応外です。
- 別アカウントでの実行
- SYSTEM や gMSA での実行
- 「パスワードを保存しない」(プロファイルを読み込まない S4U)タスク
必ず、セットアップしたユーザー自身の資格情報を保存する形にしてください。PC 入替や Windows ユーザー変更後は復号できなくなるため、設定画面から認証情報を再設定します。
失敗したときに通知を受け取る(任意)
無人で運用していると失敗に気づきにくいため、取得や設計書の生成が失敗したときに、メールや Teams などお客様の任意の方法で通知できる仕組みを用意しています。通知の中身はお客様が自由に記述でき、ツール自身が外部へ送信することはありません(テレメトリなしの方針は変わりません)。
- データフォルダ(config.json や .env があるフォルダ。既定は %APPDATA%\TenantSnap)に、on_failure.ps1 という名前の PowerShell スクリプトを置きます。
- 定期実行が次のいずれかで失敗したとき、このスクリプトが自動的に呼ばれます。
- 設定の取得(Intune からのダウンロード)に失敗したとき(認証エラー・通信障害など。無人運用で最も重要です)
- 「設計書・差分レポートまで生成する」をオンにしていて、設計書の生成に失敗したとき(ディスク不足など)
- スクリプトには、失敗した工程・データフォルダ・ログフォルダ・終了コード・テナント名が引数として渡されます。ログフォルダにはその日のログがあるため、原因の確認やメールへの添付に使えます。
| 引数 | 内容 |
|---|---|
| -Step | 失敗した工程(export=取得/docx=設計書生成) |
| -DataDir | そのテナントのデータフォルダのパス |
| -LogDir | ログフォルダ(tenantsnap_YYYYMMDD.log があります) |
| -ExitCode | 失敗した工程の終了コード |
| -Tenant | テナント名(複数テナント運用時のみ。単一運用では空) |
差分(変更履歴)の計算に失敗しても通知されません。初回の実行ではスナップショットが1世代しかなく差分は正常にスキップされるため、これを失敗として通知すると毎回誤報になるからです。on_failure.ps1 を置かない場合の動作は従来と変わりません。
古い記録を圧縮してディスクを節約する(任意)
取得データ(スナップショット)とログは、実行のたびに少しずつ溜まっていきます。無人サーバーで定期実行を長く続ける場合に備えて、指定した日数より古い記録を自動で圧縮し、ディスクの使用量を抑えられます(既定はオフ)。
- 「設定 > 定期実行」の「古い記録を圧縮してディスクを節約する」をオンにします。
- 同じ画面で、何日より古いものを圧縮するかをスナップショット・ログそれぞれ設定できます(既定:スナップショット30日・ログ7日)。
削除ではなく圧縮です。圧縮した記録からでも、設計書の作り直しや過去との差分抽出はこれまでどおり行えます(圧縮したファイルは自動で読み込まれます・外部送信はありません)。差分に必要な直近2回分のスナップショットは、日数に関わらず圧縮しません。
圧縮が動くのは設定の取得が成功した直後です(手動実行・定期実行のどちらでも動きます)。取得が失敗したときは何も変更しません。圧縮すると古いスナップショットのファイル名は tenantsnap_config_YYYYMMDD.json.gz になるため、snapshots フォルダのファイルを参照する独自スクリプトをお使いの場合はご注意ください。
アクセス制限のあるサーバーでの WebView2 の事前導入
前提:TenantSnap は構成の取得のために Microsoft の公式エンドポイント(login.microsoftonline.com/graph.microsoft.com)へ接続できる必要があります。完全にインターネットから切り離されたサーバーでは動作しません。この節は「これらの Microsoft エンドポイントは(直接または社内プロキシ経由で)許可されているが、それ以外の一般のインターネットは遮断されている」サーバーを対象とします。
アプリの画面表示には Microsoft Edge WebView2 ランタイムが必要です。一般のインターネットに出られる環境なら初回起動時に自動で導入されますが、上記のように一般のインターネットが遮断されたサーバーでは、WebView2 の配布サイトにも出られないため、事前に手動で導入します。
- 一般のインターネットに出られる別の PC で、Microsoft の「WebView2 ランタイム」の Evergreen Standalone Installer(x64/オフライン用の単体インストーラー)をダウンロードします。
- そのインストーラーをサーバーへコピーし、管理者として実行します。
- 導入後に TenantSnap をインストール・起動してください。
本ガイドは製品に同梱のインストールガイドに基づきます。複数テナントをまとめて定期実行する場合は複数テナント(MSP)ガイドもご覧ください。