PowerShellをOffice 365に接続する方法:ステップバイステップのチュートリアル

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を入手する

前提条件

このチュートリアルの例を実行するためには、以下のものを事前に準備してください:

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に関連する利用可能なモジュールを検索します。

Find-Module Exchangeonline*
Fiding PowerShell Module

ワイルドカードを使用して関連するすべての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を使用します。

AzureADMSOnlineの両方は、PowerShellを使用してOffice 365サービスを操作するための機能を提供していますが、なぜ2つも必要なのでしょうか?AzureADMSOnlineの後継であり、将来的にはMSOnlineに取って代わる予定です。新しい機能はすべてAzureADモジュールに含まれていますが、MSOnlineモジュールとの一部の重複も存在しています。

ユーザー、グループ、ライセンスの管理などのタスクは、MSOnlineモジュールにまだ存在しています。

Exchange OnlineへのMFA経由接続が必要な場合、Microsoftは「マルチファクタ認証を使用してExchange Online PowerShellに接続する」という素晴らしいガイドを提供しています。

PowerShellを使用して複数のOffice 365サービスに接続する

Office 365のPowerShellモジュールは、大きな一覧に見えるかもしれませんが、以下のPowerShellコードを使用して、すべてのサービスに1つのコンソールで接続し、同じコンソールですべてのタスクを実行することが可能です。

$CloudCred=Get-Credential
$TenantName="Test for test.onmicrosoft.com"
Connect-AzureAD -Credential $CloudCred
Connect-PnPOnline -Url https://$TenantName.sharepoint.com -Credentials $CloudCred
Connect-ExchangeOnline -Credential $CloudCred
Connect-MicrosoftTeams -Credential $CloudCred

Sharepointに接続する際には、次のエラーが発生する可能性があります。

Connect-PnPOnline: AADSTS65001: ユーザーまたは管理者は、ID「31359c7f-bd7e-8888-86db-fdb8c937548e」という名前の「PnP Management Shell」アプリケーションの使用に同意していません。このユーザーとリソースに対してインタラクティブな承認要求を送信してください。トレースID: b9913a0b-b47d-4ffe-bdc7-70ed81143000

この問題を修正するには、Register-PnPManagementShellAccessコマンドレットを実行し、ユーザー名とパスワードを入力し、「組織の代わりに同意する」をチェックすることを確認してください。

Consent on behalf of your organization

常にモジュールが最新であることを確認してください。新機能や互換性が頻繁に追加されます。ほとんどの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/