MicrosoftはExchange Online PowerShellモジュールのConnect-ExchangeOnlineコマンドレットが持つCredentialパラメーターを、2026年6月に廃止することを発表した(MC1248389)。「また廃止か」と流し読みしてしまいそうな告知だが、バックグラウンドで動き続けている古いスクリプトを持つ組織にとっては見逃せない変更だ。
Credentialパラメーターとは何だったのか
Credentialパラメーターはユーザー名とパスワードを格納したPSCredentialオブジェクトを受け取り、ROPC(Resource Owner Password Credentials)と呼ばれる認証フローでExchange Onlineに接続する仕組みだ。ROPCはOAuthの仕様上は存在するが、多要素認証(MFA)に対応していない。要するに「ユーザー名+パスワードだけで認証する、昔ながらのやり方」をそのままスクリプトに持ち込んだ形態である。
MicrosoftのEntra IDトークン取得ライブラリであるMSAL(Microsoft Authentication Library)がすでにROPCのサポートを非推奨とした以上、それに依存するExchange Online PowerShellモジュールが追従するのは自然な流れだ。
どこに影響が出るか
対話セッションには実質的な影響はない。 管理者アカウントにはすでにMFAが設定されているはずであり、そもそもCredentialパラメーターを使って手動でログインするケースは稀だろう。
問題はバックグラウンドジョブだ。具体的には次のようなケースが該当する。
- Windowsタスクスケジューラーから起動するPowerShellスクリプト
- 数年前に書かれ、メンテナンスがほとんど行われていない自動化スクリプト
- サービスアカウントのユーザー名+パスワードをスクリプト内や別ファイルに保持しているもの
こうしたスクリプトは、6月以降にMicrosoft側のサーバーコンポーネントがROPC対応を終了した段階でサイレントに壊れる可能性がある。エラーが出るならまだいい。最悪なのは「実行されているように見えて、実際には接続に失敗してスキップされている」状態だ。
移行先:Azure AutomationとマネージドID
推奨される移行先はAzure Automationのマネージドアイデンティティ(Managed Identity)を使ったRunbookだ。
比較項目 Windowsタスクスケジューラー Azure Automation + Managed Identity
認証方式 ユーザー名+パスワード(ROPC) マネージドID(証明書不要)
MFA対応 非対応 対応
シークレット管理 スクリプト内に埋め込みがち 不要(IDベース)
実行ログ ローカルイベントログ Azure Monitorで一元管理
コスト 無料(ただしWindowsサーバーが必要) 月500分まで無料、超過分は$0.002/分
Azure Automationの無料枠(月500分)は、典型的なExchange Online管理タスクであれば十分すぎる量だ。「Azureサブスクリプションが必要」「設定が複雑」という声はよく聞くが、一度慣れてしまえばタスクスケジューラーには戻りたくなくなる。
実務への影響——今すぐやること
ステップ1: スクリプトの棚卸し
出典: この記事は Exchange Online PowerShell Dumps the Credential Parameter の内容をもとに、筆者の見解を加えて独自に執筆したものです。