Microsoft 365(旧Office 365)の管理者にとって、Exchange Onlineのユーザーメールボックスを効率的に管理することは重要です。特に、PowerShellを使えば、Web管理画面よりも詳細な情報を一括で取得したり、複数ユーザーの操作を自動化したりすることができます。この記事では、Exchange Online PowerShellを使ってユーザーメールボックスを一覧表示する方法について、初心者にもわかりやすく手順を解説します。Microsoft 365管理に携わるすべての方に役立つ内容ですので、ぜひ参考にしてください。
Exchange Online PowerShellは、Microsoft 365のExchange Online環境に対してコマンドラインから操作を行える強力なツールです。GUI(グラフィカルユーザーインターフェース)では難しい大量データの処理やスクリプトによる自動化が可能で、IT管理者にとっては欠かせないツールとなっています。
PowerShellを使えば、ユーザーのメールボックス情報の取得、変更、管理者権限の付与など、多くの操作を一括で効率的に実行できます。今回は、その中でも最も基本的な「メールボックスの一覧表示」について、具体的な手順と活用法を紹介します。
まずは、PowerShellからExchange Onlineに接続する必要があります。以下の手順に従ってください。
Windowsスタートメニューから「PowerShell」を右クリックし、「管理者として実行」を選びます。
初回のみ、以下のコマンドでモジュールをインストールします。
Install-Module -Name ExchangeOnlineManagement
モジュールの更新が必要な場合は以下を実行します。
Update-Module -Name ExchangeOnlineManagement
以下のコマンドで接続します。
Connect-ExchangeOnline -UserPrincipalName admin@yourdomain.com
※「admin@yourdomain.com」はご自身の管理者アカウントに置き換えてください。
認証が成功すると、PowerShell経由でExchange Onlineに対する操作が可能になります。
Exchange Online PowerShellに接続したら、次はユーザーメールボックスの一覧を表示してみましょう。
Get-Mailbox
このコマンドだけで、組織内のすべてのメールボックス情報が取得できます。ただし、表示される情報は標準では限られているため、必要に応じて詳細情報を付加して表示できます。
Get-Mailbox | Select-Object DisplayName,PrimarySmtpAddress,RecipientTypeDetails
DisplayName
: 表示名PrimarySmtpAddress
: 主なメールアドレスRecipientTypeDetails
: ユーザーの種類(通常のユーザー、共有メールボックスなど)管理や報告のためにCSV形式で出力することも可能です。
Get-Mailbox | Select-Object DisplayName,PrimarySmtpAddress,RecipientTypeDetails | Export-Csv -Path "C:\Mailboxes.csv" -NoTypeInformation -Encoding UTF8
このコマンドを使えば、取得した情報をエクセルなどで開いて確認・加工が可能です。
たとえば、共有メールボックスだけを一覧表示したい場合は以下のようにします。
Get-Mailbox -RecipientTypeDetails SharedMailbox
特定のドメインのメールボックスだけを取得したい場合:
Get-Mailbox | Where-Object {$_.PrimarySmtpAddress -like "*@example.com"}
このように、Where-Object
を使って柔軟にフィルタリングが可能です。
パラメータ | 内容 |
---|---|
-ResultSize Unlimited | すべての結果を取得する(1000件以上ある場合) |
-RecipientTypeDetails | メールボックスの種類を絞り込み(UserMailbox、SharedMailboxなど) |
-OrganizationalUnit | 指定したOU(組織単位)のユーザーのみ取得 |
例:
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
Update-Module ExchangeOnlineManagement
で解決。-ResultSize Unlimited
を忘れずに。-Encoding UTF8
を指定することで回避可能です。Exchange Online PowerShellを活用すれば、ユーザーのメールボックスを一括で確認・管理でき、Web管理画面では難しい柔軟な操作が可能になります。
特に以下のような場面で大きな威力を発揮します。
初めての方は少しハードルを感じるかもしれませんが、一度コマンドの基本を理解すれば業務効率は確実にアップします。ぜひ、この記事を参考に日々の業務に役立ててください。