Office 365にPowerShellで接続することは、時々手間がかかることがあります。異なるコマンドやモジュールを覚える必要があります。それを変えましょう。
この記事では、Azure AD PowerShell for GraphモジュールとAzure Active Directoryモジュール for Windows PowerShellを使用して、PowerShellをOffice 365に接続する方法を学びます。
「Microsoft 365 Backup For Dummies eBook」では、Microsoft 365のデータセキュリティの課題を解説し、デフォルトのセキュリティ機能について説明しています。eBookを入手する
前提条件
このチュートリアルの例を実行するためには、以下のものを事前に準備してください:
- Windows PowerShell 5.1またはPowerShell 7
- Office 365テナント
- ITプロフェッショナル向けMicrosoft Online Services Sign-In Assistant RTW
PowerShell 7は、Microsoftのウェブサイトからダウンロードできます。
PowerShellを使用してOffice 365に接続する
Office 365には、次のような様々なサービスが含まれています:
- Azure Active Directory。
- Exchange Online。
- Microsoft Teams。
Office 365サービスは、https://portal.microsoft.comという共通のポータルを介して利用できます。このポータルでは、ドメインのセットアップ、テナントの設定、請求、ユーザーの設定の管理が可能です。ただし、Exchange OnlineやMicrosoft TeamsなどのOffice 365サービスにアクセスするには、ポータルでサービス名をクリックして、Exchange Admin Centerなどのサービス管理センターに移動する必要があります。
それぞれのサービスには独自の管理センターポータルとPowerShellモジュールがあります。したがって、Exchange Onlineのユーザーを管理するには、Exchange Online PowerShellモジュールをダウンロードする必要があります。Teamsのユーザーを管理する場合は、Teamsモジュールをダウンロードし、Azure Active Directory PowerShellモジュールも必要です。
Office 365 PowerShellモジュールのダウンロードとインストール
簡単な方法は、PowerShell自体を使用してPowerShellモジュールを検索、ダウンロード、およびインストールすることです。Exchange Online PowerShellモジュールを取得してみましょう。まず、PowerShellを開き、次のPowerShellコマンドラインを入力して、Exchange Onlineに関連する利用可能なモジュールを検索します。

ワイルドカードを使用して関連するすべてのPowerShellモジュールを検索できます。
Find-Module
を使用すると、PowerShellギャラリーでモジュールを検索することができます。複数のPowerShellモジュールが見つかるかもしれません。私たちが探しているのはExchangeOnlineManagementです。モジュールをダウンロードしてインストールするには、install-module
コマンドレットを使用します。
エラーが返らなければ、モジュールを使用する準備ができています。次のステップは、モジュールの使用を開始することです。
PowerShell 3以降、PowerShellは、インストールされたモジュールに関連するコマンドを実行する初めてのときに、モジュールを自動的にインポートすることができます。
同じ方法で、他のモジュールのダウンロードも可能です。必要なのはモジュール名を知っていることだけです。
Office 365サービスにPowerShellを接続する
各Office 365には独自のPowerShellモジュールがあり、クロスサービスの管理は少し難しいです。通常、Office 365モジュールには似たようなコマンドConnect-*ServiceName*
があります。
- Exchange Onlineに接続するには、
Connect-ExchangeOnline
コマンドレットを使用します。これはExchangeOnlineManagementモジュールで利用できます。 - Microsoft Teamsに接続するには、次のコマンドを使用します。
Connect-MicrosoftTeams
これはMicrosoftTeamsモジュールで利用できます。 - Azure ADに接続するには、Azure AD PowerShell for Graphを使用して
Connect-AzureAD
を使用します。これはAzureADモジュールで利用できます。 - Sharepoint Onlineに接続するには、
Connect-PnPOnline
を使用します。これはMicrosoft.Online.SharePoint.PowerShellモジュールで利用できます。 Connect-MsolService
を使用して、Azure AD for Windows PowerShellモジュールに接続します。このコマンドは、MSOnlineモジュールに含まれています。
PowerShell Coreでは、Azure AD for Windows PowerShellモジュールやMsolという名前のコマンドレットはサポートされていません。
なぜ2つのAzure ADモジュールが必要なのでしょうか?
Office 365をPowerShellで操作する際には、おそらく2つの異なるモジュールを使用する必要があります。ひとつはモジュール名がAzureADであるAzure Active Directory PowerShell for Graphを使用し、もうひとつはモジュール名がMSOnlineであるAzure Active Directory Module for Windows PowerShellを使用します。
AzureADとMSOnlineの両方は、PowerShellを使用してOffice 365サービスを操作するための機能を提供していますが、なぜ2つも必要なのでしょうか?AzureADはMSOnlineの後継であり、将来的にはMSOnlineに取って代わる予定です。新しい機能はすべてAzureADモジュールに含まれていますが、MSOnlineモジュールとの一部の重複も存在しています。
ユーザー、グループ、ライセンスの管理などのタスクは、MSOnlineモジュールにまだ存在しています。
Exchange OnlineへのMFA経由接続が必要な場合、Microsoftは「マルチファクタ認証を使用してExchange Online PowerShellに接続する」という素晴らしいガイドを提供しています。
PowerShellを使用して複数のOffice 365サービスに接続する
Office 365のPowerShellモジュールは、大きな一覧に見えるかもしれませんが、以下のPowerShellコードを使用して、すべてのサービスに1つのコンソールで接続し、同じコンソールですべてのタスクを実行することが可能です。
Sharepointに接続する際には、次のエラーが発生する可能性があります。
Connect-PnPOnline: AADSTS65001: ユーザーまたは管理者は、ID「31359c7f-bd7e-8888-86db-fdb8c937548e」という名前の「PnP Management Shell」アプリケーションの使用に同意していません。このユーザーとリソースに対してインタラクティブな承認要求を送信してください。トレースID: b9913a0b-b47d-4ffe-bdc7-70ed81143000
この問題を修正するには、Register-PnPManagementShellAccess
コマンドレットを実行し、ユーザー名とパスワードを入力し、「組織の代わりに同意する」をチェックすることを確認してください。

常にモジュールが最新であることを確認してください。新機能や互換性が頻繁に追加されます。ほとんどのOffice 365 PowerShellモジュールは現在、マルチファクタ認証をサポートしています。
Microsoft 365 Backup For DummiesのeBookは、Microsoft 365のデータセキュリティの課題に取り組み、Microsoft 365のデフォルトのセキュリティ機能を概説しています。eBookを入手する
概要
Office 365には多くのサービスがありますが、幸いにもPowerShellを使用してそれらをすべて管理することができます。モジュールを両方インストールし、Connect
コマンドを使用して接続したら、PowerShellでOffice 365を管理する準備が整います!
Source:
https://adamtheautomator.com/how-to-connect-powershell-to-office-365/