Exchange Online PowerShell V2 モジュールのバージョン情報

Exchange Online PowerShell V2 モジュール (EXO V2 モジュールと省略されています) は、先進認証を使用し、Microsoft 365 のすべての Exchange 関連 PowerShell 環境 (Exchange Online PowerShell、セキュリティ/コンプライアンス PowerShell、およびスタンドアロン型 Exchange Online Protection (EOP) PowerShell) に接続するために多要素認証 (MFA) と連携します。

EXO V2 モジュールを使用した接続の手順については、次のトピックを参照してください。

このトピックの以下のセクションでは、モジュールのしくみ、モジュールをインストールしてメンテンアンスする方法、およびモジュールで使用できる最適化された Exchange Online コマンドレットについて説明します。

EXO V2 モジュールのバグや問題を報告する

問題を報告する場合は、メールメッセージにログファイルを含める必要があります。 ログファイルを生成するには、<Path to store log file>を必要な出力フォルダーに置き換えて、次のコマンドを実行します:

Connect-ExchangeOnline -EnableErrorReporting -LogDirectoryPath <Path to store log file> -LogLevel All

EXO V2 モジュールのしくみ

このモジュールには、一括データ取得シナリオ (数千のオブジェクト) 用に最適化された、少数の Exchange Online PowerShell 専用のコマンドレットが含まれています。 初めてモジュールを開いたときには、これらの専用のコマンドレットのみが表示されます。 Exchange Online 組織に接続すると、Exchange Online PowerShell で使用できる使い慣れたコマンドレットがすべて表示されます。

このモジュールはすべてのコマンドレットに対して先進認証を使用します。 EXO V2 モジュールでは基本認証を使用することはできませんが、このトピックの後半で説明するように、WinRM の基本認証設定を有効にする必要があります。

EXO V2 モジュールの Exchange Online コマンドレットは、以前の効率の低い同等のコマンドレットを置き換えるためのものですが、その同等のコマンドレットは (接続後に) 引き続き使用することもできます。

EXO V2 モジュールでのみ使用可能な Exchange Online PowerShell コマンドレットは、次の表に記載されています。


EXO V2 モジュール コマンドレット 古い関連コマンドレット
EXOMailbox Get-Mailbox
Get-EXORecipient Get-Recipient
Get-EXOCasMailbox Get-CASMailbox
Get-EXOMailboxPermission Get-MailboxPermission
EXORecipientPermission Get-RecipientPermission
Get-EXOMailboxStatistics Get-MailboxStatistics
Get-EXOMailboxFolderStatistics Get-MailboxFolderStatistics
Get-EXOMailboxFolderPermission Get-MailboxFolderPermission
Get-EXOMobileDeviceStatistics Get-MobileDeviceStatistics
Disconnect-ExchangeOnline Remove-PSSession
Connect-IPPSSession Connect-IPPSSession
Get-UserBriefingConfig 該当なし
Set-UserBriefingConfig 該当なし

EXO V2 モジュールで使用できる接続関連のコマンドレットを次の表に示します。


EXO V2 モジュール コマンドレット 古い関連コマンドレット
Connect-ExchangeOnline Connect-EXOPSSession
または
New-PSSession
Connect-IPPSSession Connect-IPPSSession
Disconnect-ExchangeOnline Remove-PSSession

EXO V2 モジュールをインストールしてメンテナンスする

EXO V2 モジュールは、https://www.powershellgallery.com/packages/ExchangeOnlineManagement/ にある PowerShell ギャラリー からダウンロードできます。

このセクションの手順では、EXO V2 モジュールをインストール、更新、アンインストールする方法について説明します。

EXO V2 モジュールの前提条件

  • Windows PowerShell 5.1 は、EXO V2 モジュールでサポートされている PowerShell の最新バージョンです。 以前のバージョンの PowerShell のサポート (および定義として、Linux や Macへのサポート) は、進行中の作業です。

  • 次の Windows のバージョンを使用できます。

    • Windows 10
    • Windows 8.1
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 または Windows Server 2012 R2
    • Windows 7 Service Pack 1 (SP1)*
    • Windows Server 2008 R2 SP1*

    * このバージョンの Windows はサポートが終了しており、Azure 仮想マシンで実行している場合にのみサポートされるようになりました。 このバージョンのWindows を使用するには、Microsoft .NET Framework 4.5以降をインストールしてからWindows Management Framework5.1をインストールする必要があります。 詳細については、 Windows Management Framework 5.1を参照してください。

  • スクリプトを実行するように Windows PowerShell を構成する必要があります。既定では、そのように構成されていないため、接続を試行すると、次に示すエラーが発生します。

    このシステムでスクリプトの実行が無効になっているため、ファイルを読み込めません。 ファイルの署名に使用する有効な証明書を指定します。

    インターネットからダウンロードしたすべての PowerShell スクリプトが信頼された発行元によって署名されていることを要求するには、管理者特権の Windows PowerShell ウィンドウ ([管理者として実行] を選択したときに開く Windows PowerShell ウィンドウ) で次のコマンドを実行します。

    Set-ExecutionPolicy RemoteSigned
    

    実行ポリシーの詳細については、「実行ポリシーについて」を参照してください。

  • WinRM は基本認証を許可する必要があります (既定で有効になっています)。 ユーザー名とパスワードの組み合わせは送信しませんが、クライアント側の WinRM 実装は OAuth をサポートしていないため、セッションの OAuth トークンを転送するには基本認証ヘッダーが必要です。

    :次のコマンドを実行するには、WinRM を一時的に有効にする必要があります。 次のコマンドを実行して有効にできますwinrm quickconfig

    WinRM で基本認証が有効になっていることを確認するには、コマンド プロンプトで(Windows PowerShell ではなく)、次のコマンドを実行します:

    winrm get winrm/config/client/auth
    

    Basic = true の値が表示されない場合は、コマンド プロンプトで(Windows PowerShell ではなく)、次のコマンドを実行して WinRM の基本認証を有効にする必要があります:

    winrm set winrm/config/client/auth @{Basic="true"}
    

    : Windows PowerShell でコマンドを実行する場合は、コマンドのこの部分を引用符で囲みます:'@{Basic="true"}'。  

    WinRM で基本認証が無効になっている状態で接続しようとすると、次のエラーが表示されます。

    WinRM クライアントは要求を処理できません。 現在、基本認証はクライアント構成で無効になっています。 クライアント構成を変更して、要求を再試行してください。

Tip

問題がある場合は、 Exchange のフォーラムで質問してください。 次のフォーラムにアクセスしてください: Exchange Online または Exchange Online Protection

EXO V2 モジュールをインストールする

初めて EXO V2 モジュールをインストールするには、管理者特権の Windows PowerShell ウィンドウで次の手順を完了します.

  1. PowerShellGet をインストールする」の説明に従って、PowerShellGet モジュールをインストールまたは更新します。

  2. ウィンドウを閉じてもう一度開きます。

  3. Install-Module コマンドレットを使用して、PowerShell ギャラリーから EXO V2 モジュールをインストールすることができるようになりました。 通常、最新の公開バージョンのモジュールを使用する必要がありますが、プレビュー版が使用可能であればインストールすることもできます。

    • モジュールの最新の公開バージョンをインストールするには、次のコマンドを実行します。

      Install-Module -Name ExchangeOnlineManagement
      

      Y を入力して、ライセンス契約に同意します。

    • モジュールのプレビュー版をインストールするには、<PreviewVersion> を必要な値に置き換え、次のコマンドを実行します。

      Install-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease
      

      たとえば、無人スクリプトのアプリのみの認証に必要な 2.0.3-Preview バージョンをインストールするには、次のコマンドを実行します。

      Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.3-Preview -AllowPrerelease
      

    終了したら、Y を入力してライセンス契約に同意します。

詳細な構文とパラメータ情報については、「Install-Module」を参照してください。

EXO V2 モジュールを更新する

モジュールが既にコンピューターにインストールされている場合は、次のコマンドを実行して、現在インストールされているバージョンを確認し、PowerShell ギャラリーから最新バージョンに更新することができます。

  1. 現在インストールされているモジュールのバージョンを確認するには、次のコマンドを実行します。

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    
  2. 管理者特権の Windows PowerShell ウィンドウUpdate-Module コマンドレットを使用して、PowerShell ギャラリーから EXO V2 モジュールを更新することができます。 通常、最新の公開バージョンのモジュールを使用する必要がありますが、プレビュー版が使用可能であればアップグレードすることもできます。

    • モジュールの最新の公開バージョンにアップグレードするには、次のコマンドを実行します。

      Update-Module -Name ExchangeOnlineManagement
      

      Y を入力して、ライセンス契約に同意します。

    • モジュールのプレビュー版にアップグレードするには、<PreviewVersion>を必要な値に置き換え、次のコマンドを実行します。

      Update-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease
      

      たとえば、無人スクリプトのアプリのみの認証に必要な 2.0.3-Preview バージョンにアップグレードするには、次のコマンドを実行します。

      Update-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.3-Preview -AllowPrerelease
      

      終了したら、Y を入力してライセンス契約に同意します。

  3. 更新が成功したことを確認するには、次のコマンドを実行して、インストールされているモジュールのバージョン情報を確認します。

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    

詳細な構文とパラメータ情報については、「Update-Module」を参照してください。

: 次のエラーが表示される場合:

PowerShellGetFormatVersion '<version>'の指定されたモジュール'ExchangeOnlineManagement' は、現在のバージョンの PowerShellGet でサポートされていません。 このモジュール ' ExchangeOnlineManagement ' をインストールするには、PowerShellGet モジュールの最新バージョンを取得してください。

PowerShellGet をインストールする」の説明に従って、PowerShellGet モジュールのインストールを最新バージョンに更新します。 ExchangeOnlineManagement モジュールをもう一度更新しようとする前に、必ず管理者特権の Windows PowerShell ウィンドウを終了してもう一度開きます。

EXO V2 モジュールをアンインストールする

モジュールをアンインストールするには、管理者特権の Windows PowerShell ウィンドウで次のコマンドを実行します。

Uninstall-Module -Name ExchangeOnlineManagement

詳細な構文とパラメータ情報については、「Uninstall-Module」を参照してください。

EXO V2 モジュールのプロパティとプロパティ セット

従来の Exchange Online コマンドレットでは、多くの場合空白または多くのシナリオに関連しない多数のプロパティを含む、出力に可能なすべてのオブジェクト プロパティが返されます。 この動作により、パフォーマンスが低下します (サーバーの計算量が増え、ネットワーク負荷が増加します)。 コマンドレットの出力では、プロパティの完全な補完が必要になることはほとんどありません。

モジュール内の Get-EXO* コマンドレットには、分類された出力プロパティがあります。 すべてのプロパティが同じ重要性を持ち、すべてのシナリオですべてのプロパティを返すのではなく、関連する特定のプロパティがプロパティ セットに分類されています。 簡単に言えば、これらのプロパティ セットは、コマンドレットの関連する 2 つ以上のプロパティのバケットです。

最大かつ最もよく使用される Get-EXO* コマンドレットを次に示します。

プロパティ セットは、次のパラメータによって制御されます。

  • PropertySets: このパラメーターは、コンマで区切られた 1 つ以上の使用可能なプロパティ セット名を受け取ります。 使用可能なプロパティ セットについては、「Exchange Online PowerShell V2 コマンドレットのプロパティ セット」で説明されています。
  • Properties: コンマで区切られた 1 つ以上のプロパティ名を受け取ります。

同じコマンドで、PropertySets パラメーターと Properties パラメーターを一緒に使うことができます。

また、コマンドレット出力に必要なプロパティ (ID プロパティなど) の最小限のセットを含む Minimum プロパティ セットも含まれています。 Minimum プロパティ セットのプロパティについては、「Exchange Online PowerShell V2 コマンドレットのプロパティ セット」にも記載されています。

  • PropertySetsまたはプロパティを 使用しない場合、プロパティは、自動的に最小プロパティセットに設定されます。
  • PropertySets またはプロパティ パラメーターを使用する場合は、指定されたプロパティおよび最小プロパティセットのプロパティ を取得し ます。

いずれの場合も、コマンドレットの出力結果に含まれるプロパティが大幅に減少します。また、その結果を返す時間も短縮されます。

たとえば、Exchange Online PowerShell に接続した後、次の例では、最初の 10 個のメールボックスに対して Minimum プロパティ セットのプロパティのみが返されます。

Get-EXOMailbox -ResultSize 10

対照的に、同じ Get-Mailbox コマンドの出力は、最初の 10 個のメールボックスのそれぞれに対して、少なくとも 230 のプロパティが返されます。

Note

PropertySets パラメーターが値 All を受け入れるように設定しても、コマンドを実行すると処理速度が遅くなり、信頼性が低下するため、この値を使用してすべてのプロパティを取得することは決してお勧めしません。 シナリオに必要なプロパティの最小数を取得するには、常に PropertySetsProperties パラメーターを使用します。

EXO V2 モジュールでのフィルター処理の詳細については、「Exchange Online V2 モジュールでのフィルター 」を参照してください。

リリース ノート

現在のリリース: バージョン1.0.1

  • これは、EXO PowerShell V2 モジュールの一般提供(GA) バージョンです。 安定しており、実稼働環境での使用準備が整っています。

  • Get-ExoMobileDeviceStatistics コマンドレットが Identity パラメーターをサポートできるようになりました。

  • 特定のケースでのセッションの自動再接続の信頼性が向上しました。以前は、自動再接続ロジックのバグが原因で、スクリプトの50分以下の実行で、 "コマンドレットが見つかりません" というエラーが発生することがありました。

  • スクリプトを簡単に移行できるように、よく使用される2つの属性、 "User" と "MailboxFolderUser" について固定データタイプの問題を解決しました。

  • フィルターのサポートが強化されました。これにより、次の4つの演算子がサポートされるようになりました: EndsWith、Contains、 Notと NotLikeのサポート。 フィルターでサポートされていない属性については、オンラインドキュメントを参照してください。

以前のリリース

バージョン 0.4578.0

  • ユーザーレベルでの組織のブリーフィングメールの構成に関するサポートが追加されました。Set-UserBriefingConfigGet-UserBriefingConfig コマンドレットを使用します。

  • Disconnect-ExchangeOnlineコマンドレットを使用したセッションのクリーンアップのサポート このコマンドレットは、Get-PSSession | Remove-PSSessionに相当する V2 です。 セッションオブジェクトやローカルファイルをクリーンアップするだけでなく、V2 コマンドレットに対して認証するために使用されるキャッシュからのアクセストークンを削除することもできます。

  • EXOMailboxFolderPermissionのidentity パラメーターとして FolderId を使うことができるようになりました。 Get-MailboxFolderを使用して、FolderId 値を取得できます。 次に、例を示します。

    Get-MailboxFolderPermission -Identity <UPN>:<Folder-Path>

    Get-MailboxFolderPermission -Identity <UPN>:\<Folder-Id>

  • エラーを引き起こしている特定の要求ルーティングエラーは解決され、Get-EXOMailboxStatistics の信頼性が向上しました。

  • セッションがインポートされるたびに新しいセッションでモジュールを作成するのではなく、新しいセッションで既存のモジュールを再使用してセッションを作成することで、メモリー使用を最適化。

バージョン 0.4368.1

  • Connect-IPPSSession コマンドレットを使用して、Security & Compliance Center PowerShellコマンドレットのサポートが強化されました。

  • ShowBanner スイッチを使用して、お知らせバナーを非表示にします。 次のコマンドを実行してバナーを非表示にします:

    Connect-ExchangeOnline -ShowBanner:$false
    
  • クライアント例外でコマンドレットを終了する

  • Remote PowerShell には、パフォーマンス改善のため EXO コマンドレットで意図的にサポートされていない各種の複雑なデータ型が含まれていました。 管理スクリプトをシームレスに移行できるように、リモート PowerShell コマンドレットと V2 コマンドレットの間の、複雑ではないデータ型の違いが解決されました。

バージョン 0.3582.0

  • セッションの作成時にプレフィックスをサポートします。

    • プレフィクスの付いたコマンドレットを含むセッションは一度に1つのみ作成できます。
    • EXO V2 コマンドレットにはプレフィックス EXO が既に付いているので、プレフィックスを使用しません。プレフィックスとして EXO を使用しないでください。
  • クライアントコンピューターで WinRM 基本認証が無効になっていても、EXO V2 コマンドレットを使用します。 リモート PowerShell コマンドレットは、WinRM 基本認証を必要とすることに注意してください。無効になっている場合は、使用できません。

  • V2 コマンドレットの Identity パラメーターが名前およびエイリアスもサポートするようになりました。 エイリアスまたは名前を使用すると、V2 コマンドレットのパフォーマンスが低下するため、使用することはお勧めしません。

  • V2 コマンドレットによって返される属性のデータ型がリモート PowerShell コマンドレットとは異なる問題が修正されました。 データ型が異なる属性はまだ少しありますが、数か月以内に処理する予定です。

  • 修正済みのバグ: Connect-ExchangeOnlineが資格情報またはUserPrincipalNameで呼び出されたとき、セッションが頻繁に再接続する

バージョン 0.3555.1

  • 認証の問題が原因で、パイプ処理されたコマンドレットが次のエラーで失敗したバグが修正されました。

    実行空間が開いていないため、パイプラインを呼び出すことができません。 実行空間の現在の状態は ' Closed ' です。

バージョン 0.3527.4

  • 更新された Get-help コンテンツ。

  • -Online パラメーターが、エラーコード400で存在しないページにリダイレクトされた Get-Helpの、問題が修正されました。

バージョン 0.3527.3

  • 委任フローを使用して、別のテナントの Exchange 管理をするサポートを追加しました。

  • 1つの PS ウィンドウ内の他の PowerShell モジュールと共に動作します。

  • 位置パラメーターのサポートが追加されました。

  • "日付/時刻フィールド" は、クライアントのロケールをサポートするようになりました。

  • バグ修正: Connect-ExchangeOnlineの実行中に PSCredential が空になりました。

  • バグ修正: フィルターに $null が含まれているときに、クライアントモジュールでエラーが発生しました。

  • EXO V2 モジュール内に作成されたセッションに、名前を付けることができます (名前付けパターン: ExchangeOnlineInternalSession_% SomeNumber%)。

  • バグ修正: トークンの有効期限と PSSession のアイドル期間の違いのため、リモート PowerShell コマンドレットが断続的に失敗します。

  • 主要なセキュリティ更新

  • バグの修正と強化された機能