M365Con 2027 – 無料オンラインカンファレンス · 11–22 Jan 2027 · 120 sessions→ m365con.net

ブログ · Mirko Peters

Exchange Online PowerShell モジュールをインストールする(手順解説)

By ·

Install-Module ExchangeOnlineManagement を使って Exchange Online PowerShell モジュールをインストールします。要件、スコープ、バージョンの確認、更新、エラーの対処法を解説します。

Automatically translated with AI from the original post. Read the English original

Exchange Online PowerShell モジュールをインストールするには、管理者として PowerShell を開き、Install-Module -Name ExchangeOnlineManagement を実行します。これにより、コンピューター上の全ユーザー向けにモジュールがインストールされます。管理者として実行できない場合は、-Scope CurrentUser を追加してください。その場合は、自分のアカウントだけにインストールされます。この記事は、新しい管理用 PC、ジャンプサーバー、ビルドエージェントをセットアップする Exchange および Microsoft 365 管理者を対象としています。要件、インストールと確認の手順、モジュールの更新と削除、そして最もよく発生するエラーについて説明します。

重要なポイント

  • 管理者として実行した PowerShell ウィンドウで、全ユーザー向けに Install-Module -Name ExchangeOnlineManagement を実行してインストールします。
  • 管理者権限を使えない場合は -Scope CurrentUser を使用してください。後でモジュールを更新するときは、インストール時と同じスコープを指定してください。
  • Windows PowerShell 5.1 には .NET Framework 4.7.2 が必要です。PowerShell 7 への対応はモジュールのバージョンによって異なり、3.10.0 以降では PowerShell 7.6.0 が必要です。
  • Get-InstalledModule で結果を確認してください。バージョンと、モジュールが全ユーザー用と現在のユーザー用のどちらの場所にあるかが表示されます。
  • このモジュールの接続は REST を使用するため、WinRM での Basic 認証は不要になりました。

モジュールの概要と事前準備

このモジュールの名前は ExchangeOnlineManagement です。Microsoft のドキュメントでは Exchange Online PowerShell V3 モジュールと呼ばれています。このモジュールを使うと、Exchange Online PowerShell、Security & Compliance PowerShell、およびオンプレミスのメールボックス向けの組み込みセキュリティアドオン用 PowerShell に接続できます。最新の認証方式を使用するため、多要素認証の有無にかかわらず利用できます。

古いスクリプトに影響する変更が1つあります。Microsoft によると、2023 年 10 月以降、REST API 接続が Basic 認証を使う従来のリモート PowerShell 接続に代わっています。このモジュールの接続では WinRM での Basic 認証は不要なので、そこで有効にする設定はありません。

インストールする前に、次の前提条件を確認してください。

  • PowerShell のバージョンと .NET。 Windows PowerShell 5.1 には .NET Framework 4.7.2 が必要です。Windows 11、Windows Server 2022、Windows Server 2025 には 4.8.x が含まれているため、問題ありません。PowerShell 7 も利用できます。最小バージョンはモジュールのバージョンによって異なります。詳しくは次のセクションで説明します。
  • 実行ポリシー。 Microsoft のページによると、適切な実行ポリシーが設定されていない場合、"Files cannot be loaded because running scripts is disabled on this system" というエラーが表示されます。Microsoft が案内している対処法は、管理者として Set-ExecutionPolicy RemoteSigned を実行することです。変更する前に、実行ポリシーに関する Microsoft のページを確認してください。管理対象のコンピューターの場合は、事前にセキュリティチームに確認してください。
  • PowerShellGet と PackageManagement。 Windows での REST 接続には PowerShellGet が必要で、PowerShellGet は PackageManagement に依存しています。これらがないと、Update-ModuleManifest コマンドレットが見つからないというエラーが表示されることがあります。Microsoft は、これら 2 つのモジュールのプレビュー版が接続の問題を引き起こす可能性があるとも述べており、インストール済みのバージョンを一覧表示するコマンドも示しています: Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions。
  • TLS 1.2。 古い Windows 上の Windows PowerShell 5.1 では、PowerShell ギャラリーに TLS 1.2 以降が必要です。古いサーバーでダウンロードが接続エラーで失敗する場合、最初に確認すべき点はこれです。

非常に古いシステムは行き止まりです。Windows 7 SP1 と Windows Server 2008 R2 SP1 で利用できるのはモジュール バージョン 2.0.3 のみで、Microsoft によると、このバージョンは REST のサポートがないため接続できません。

PowerShell のバージョンとモジュールのバージョンの対応関係

Windows PowerShell 5.1 はすべてのモジュール バージョンに対応しています(前述の .NET の要件を満たす場合)。PowerShell 7 については、Microsoft は次の対応表を示しています。

  • モジュール 3.10.0 以降には PowerShell 7.6.0 以降が必要で、これは .NET 10 を使用します。
  • モジュール 3.5.0 から 3.9.2 には PowerShell 7.4.0 以降が必要で、これは .NET 8 を使用します。
  • モジュール 3.0.0 から 3.4.0 には PowerShell 7.2.0 以降が必要で、これは .NET 6 を使用します。
  • モジュール 2.0.4 以降の 2.x 系には PowerShell 7.0.3 が必要です。

したがって、PowerShell 7.4 を搭載したマシンに最新のモジュールをインストールすると、問題が発生する可能性があります。PowerShell を更新するか、-RequiredVersion を使用して古いモジュール バージョンをインストールしてください。執筆時点で、Microsoft は現在のバージョンとして 3.10.1 を挙げています。この記事を読む時点で該当するバージョン番号は、モジュールのページで確認してください。

Microsoft は Linux と macOS でもこのモジュールをサポートしています。Linux では、プロキシ経由で接続するにはモジュール バージョン 3.0.0 以降が必要です。両方のシステムでは、Connect-IPPSSession および、それを使用する Security & Compliance PowerShell は PowerShell 7 で利用できません。Mac から Exchange Online を管理する場合、ツールを計画する前に知っておくべき唯一の制限です。

Windows 10 については簡単に触れておきます。一般向けエディションのサポートは 2025 年 10 月に終了しており、Microsoft はこれらが .NET 8.0 および .NET 10.0 をサポートしていないと述べています。PowerShell 7.4 以降でモジュール 3.5.0 以降を使用する場合、サポートが継続している Enterprise エディションと IoT LTSC エディションのみが動作します。

インストール前に PowerShell のバージョンを確認する

2 分の確認で、後の推測作業を大幅に減らせます。作業を行うウィンドウで $PSVersionTable.PSVersion を実行し、使用している PowerShell のバージョンを確認してください。結果を上記の対応表と比較します。Windows PowerShell 5.1 の場合は PowerShellGet のバージョンも確認する必要があるため、Get-InstalledModule PowerShellGet -AllVersions を実行します。このコマンドの結果にプレビュー版が含まれている場合は、削除するか、安定版に更新してから次に進んでください。Microsoft のモジュールのページは、PowerShellGet および PackageManagement のプレビュー版を接続の問題の原因として挙げています。

管理するサーバーが数台を超える場合は、マシン名の横に結果を書き留めておいてください。3 か月後に同僚から接続失敗の報告があったとき、数秒でバージョンを比較できます。

Exchange Online PowerShell モジュールのインストール手順

次の手順は、Windows PowerShell 5.1 と PowerShell 7 のどちらでも有効です。

  1. PowerShell を開きます。すべてのユーザー向けにインストールする場合は、管理者として実行を選択します。現在のユーザーのみにインストールする場合は、この操作を省略してください。
  2. マシンに初めてインストールするモジュールである場合は、まず PowerShellGet を更新してから、PowerShell を閉じて開き直してください。Microsoft は、初回インストール前にこの順序を推奨しています。
  3. すべてのユーザー向けには Install-Module -Name ExchangeOnlineManagement を実行します。自分のアカウントのみに対して実行する場合は、Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser を実行します。
  4. インストール中に PowerShell が表示するプロンプトには応答してください。ダウンロードを成功させるには、組織で PowerShell ギャラリーへのアクセスを許可しておく必要があります。
  5. Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation を実行して、インストールを確認します。
  6. InstalledLocation の行を確認してください。%ProgramFiles%\WindowsPowerShell\Modules\ 配下のパスは、すべてのユーザー向けにインストールされていることを意味します。ドキュメント フォルダー内のパスは、現在のユーザーのみにインストールされていることを意味します。
  7. 新しいウィンドウで Connect-ExchangeOnline -UserPrincipalName admin@contoso.com を実行して、動作を確認します。接続の詳細については、Connect to Exchange Online PowerShell の記事を参照してください。

プレビュー版を使いたい場合は、-AllowPrerelease を追加します。特定のプレビュー版を指定するには、-RequiredVersion と組み合わせます。Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease を実行すると、利用可能なバージョンが一覧表示されます。-AllowPrerelease を省略すると、一般公開版のみが表示されます。特别な理由がない限り、本番環境の管理サーバーにプレビュー版を導入しないでください。まず予備のマシンでテストしてください。

モジュールの更新とアンインストール

Microsoft は新しいモジュールのバージョンを定期的に公開しており、モジュールのページにあるリリースノートで変更内容を確認できます。たとえばバージョン 3.7.0 では、既定でコマンドラインヘルプが読み込まれなくなりました。バージョン 3.9.2 では UseRpsSession パラメーターが非推奨になりました。更新は 1 行のコマンドで実行できます。Update-Module -Name ExchangeOnlineManagement です。現在のユーザー向けにインストールしている場合は、-Scope CurrentUser を追加します。Microsoft は、インストール時と同じスコープを使用するよう案内しています。スコープが一致しないと、両方の場所にインストールされた状態になり、PowerShell がどちらを使用するのか分からなくなる場合があります。

そのため、更新の前後に手順 5 の Get-InstalledModule で確認することをお勧めします。2 つのバージョンが表示された場合は、それぞれがどのスコープに属しているかを確認してください。

モジュールを削除するには、Uninstall-Module -Name ExchangeOnlineManagement を実行します。すべてのユーザー向けにインストールされている場合は、管理者として実行してください。その後、開いている PowerShell のウィンドウを閉じてください。読み込み済みのモジュールは、セッションが終了するまでメモリに残るためです。

よくあるインストールエラーの対処法

Microsoft のモジュールページには、いくつかの特定のエラーと対処法が記載されています。

  • 「指定された検索条件およびモジュール名 'ExchangeOnlineManagement' に一致するものが見つかりませんでした」。 Register-PSRepository -Default を実行して、PowerShell ギャラリーをリポジトリとして再登録します。その後、インストールを再度試してください。
  • PowerShellGetFormatVersion に関するエラー、またはプロバイダーをダウンロードできないというエラー。 PowerShellGet を更新し、PowerShell を再起動してください。
  • 古い Windows PowerShell 5.1 のマシンでダウンロードが失敗する。 PowerShell ギャラリーは TLS 1.2 以降を必要とします。詳細については、Microsoft がリンクしているギャラリーの TLS サポートに関するブログ記事を参照してください。
  • 「このシステムではスクリプトの実行が無効になっているため、ファイルを読み込めません」。 管理者として、上記の説明に従って実行ポリシーを設定してください。
  • 接続時に「Update-Manifest」コマンドレットが見つからない、または Update-ModuleManifest に関する同様のメッセージが表示される。 PowerShellGet または PackageManagement が不足しています。両方をインストールし、PowerShell を再起動してください。

インストールは成功したのに、後で接続時に不可解なアセンブリエラーが表示される場合、原因はたいてい同じセッション内の別のモジュールです。新しいウィンドウを開いて、まず接続してください。

よくある間違い

  • スコープの混在。 一度すべてのユーザー向けにインストールしたあとで -Scope CurrentUser を指定して更新すると、マシン上に 2 つのバージョンが残ります。どちらか一方のスコープを選び、それを維持してください。
  • モジュールに対して PowerShell のバージョンが合っていない。 古い PowerShell 7 で最新のモジュールを使うと、接続エラーのように見える形で失敗します。上の表と照らし合わせて、お使いのバージョンを確認してください。
  • 本番ホストにプレビュー版をインストールする。 プレビュー版はテスト用です。日常業務では一般公開版を使用してください。
  • PowerShellGet を無視する。 PowerShellGet が存在しない場合やプレビュー版の場合、Microsoft のページに記載されているとおり、REST 接続が失敗することがあります。新規インストール後に接続できない場合は、まずこれを確認してください。
  • 古いチュートリアルに従う。 WinRM で基本認証を有効にするよう指示しているガイドは、廃止されたリモート PowerShell の方式について説明しています。この設定は必要ありません。

関連トピック

  • モジュールを使った接続:インストールが完了したら、次に考えるべきはサインイン方法です。MFA の有無を含め、Exchange Online PowerShell モジュールの記事とその接続に関する関連記事で解説されています。
  • アプリのみの認証:スケジュール実行のスクリプトでは、入力したパスワードではなく、証明書またはマネージド ID が必要です。
  • PowerShell 7でモジュールをLinuxおよびmacOSで使用する: 対応バージョンはオペレーティングシステムによって異なるため、まず互換性の一覧を確認してください。
  • PowerShellを使用できるユーザーの管理: Exchange管理者は、ユーザーごとにExchange Online PowerShellへのアクセスを有効または無効にできます。
  • モジュールを最新の状態に保つ: Microsoftは随時PowerShellの最小バージョンを引き上げるため、新しいモジュールのバージョンを確認する定期的なリマインダーを設定してください。

次のステップ

Exchange Online PowerShellモジュールをインストールするには、Install-Module -Name ExchangeOnlineManagementを実行し、Get-InstalledModuleで確認します。以降のすべての更新でもスコープは同じに保ってください。その後、新しいウィンドウでConnect-ExchangeOnlineを使って接続し、Get-AcceptedDomainを実行して設定が機能することを確認します。

Entities in this article

Exchange Online PowerShell PowerShell

Related articles

RSS