コンテンツにスキップ
Say Tech Co Jp Contents Blog Yamanxworld 2026vol213

vol.213 やっぱりタスクからメール通知したい ― 廃止された通知機能と現実的な代替策|セイテク・シス管道場(Web)

  • URL: https://www.say-tech.co.jp/contents/blog/yamanxworld/2026vol213
  • 日付: 2026-06-25
  • Tier: Tier 1
  • 要旨: タスクスケジューラ2.0(Windows Vista・Windows Server 2008 以降)で廃止されたメッセージ表示・電子メール送信機能の現実的な代替策を解説。メッセージ表示は Msg.exe コマンドで代替可能(セッション0 分離回避)。電子メール送信は Microsoft 365 環境では Graph API を用いた PowerShell スクリプト(msgsendbygraphapi.ps1)で Microsoft Entra 認証によるメール送信を実装。廃止機能の背景には Windows Vista のセッション0 分離、セキュリティ厳格化、SMTP AUTH・TLS 必須化がある。

詳細

Windows 8・Windows Server 2012 でタスクスケジューラ2.0 から廃止された機能は AT コマンド、メッセージの表示、電子メールの送信の3つ。AT コマンドは schtasks.exe で代替され案内も明確。メッセージ表示・電子メール送信は代替が必要だった。

廃止されたアクションは UI に「非推奨」として残り、Windows 7 以前の OS にリモート接続時に設定可能だった(レガシ OS アップグレード後に使用不可となるため表示)。ただし Windows 7・Windows Server 2008 R2 はサポート終了(Windows 7 は2023年1月 3年目 ESU 終了)。

メッセージ表示が廃止された背景は Windows Vista のセッション0 分離(サービスは常にセッション0、ユーザーはセッション1 以降で動作)にあり、「ユーザーがログオンしているかどうかにかかわらず実行する」オプション(セッション0 実行)ではメッセージを表示できなかった。UI0Detect サービス(対話型サービス検出)は互換性対策だったが、セッション0 の高権限サービスが UI を表示する仕様がセキュリティリスクのため Windows 8 で既定無効化、Windows 10 Creators Update で削除。

代替方法は Msg.exe コマンド(リモートデスクトップセッション・ローカルユーザーへのメッセージ表示。セッション0 分離影響なし。既定60秒後自動閉じ。/time パラメーターで調整可)。

電子メール送信アクションは Windows 7・Windows Server 2008 R2 まで利用可能だったが、SMTP 送信先・件名・本文・添付指定のみ。当時既に SMTP AUTH・TLS・リレー制限が厳格化され実用性が失われていた。現在の代替は Microsoft 365 環境で Graph API(Mail.Send スコープ)を用いた PowerShell スクリプト(msgsendbygraphapi.ps1)で、Microsoft Entra ID アプリ登録・クライアントシークレット・管理者同意で認証。他メール環境は SMTP AUTH サポート時に従来 SmtpClient・MailKit、API 提供時は API(Gmail API など)を使用。