今回はPowerShellでExchangeOnlineのメールボックス使用率を取得する方法をご紹介します。
目次
Exchange Onlineでメールボックス容量を確認する方法
Exchange Onlineでは標準で次の方法にてメールボックスの使用容量を確認することができます。
- Exchange管理センターで見る
- 容量のアラート機能を使う
また、Power BIの上位プランと組み合わせることでも可能なようです。
しかし今回は、追加で新たなサービスを契約せずに、WEBブラウザでExchange管理センターにアクセスすることもなく、Exchange Onlineの現在のメールボックス容量をユーザー毎に集計したいと思います。
環境構築
Exchange Onlineへの接続にPowerShellを使います。
Exchange Online PowerShellモジュールをインストールする必要があるためその作業を行います。
詳しいインストール方法は次の記事をご覧ください。
PowerShellの処理を書く
機能は大まかに次の通りです。
拡張子「ps1」で保存します。
Exchange Onlineに接続する
Exchange Onlineへの接続にはConnect-ExchangeOnlineコマンドを使います。
上記のExchange Online PowerShellモジュールのインストール方法の記事でもご紹介していますが、接続に際してはGUIもしくはCUIにてパスワード認証が必要です。
全ユーザーのメールボックス使用量と最大容量を取得する
Get-Mailboxコマンドにてすべてのユーザーのメールボックスを取得します。
その結果からGet-MailboxStatisticsコマンドにてメールアカウント名と現在の使用量、最大容量を抽出します。
メールボックス使用率を求める
Exchange Onlineではユーザーごとのメールボックス使用率を保持していません。
そのため、取得した現在の使用量、最大容量からメールアカウント名ごとに現在のメールボックス使用率を求めます。
PowerShellの処理を実行する
ps1ファイル実行してメールアドレスとその使用率を確認します。
Windowsの場合
> pwsh.exe -File /pw.ps1
Macの場合
% /pwsh -File /pw.ps1
まとめ
今回はPowerShellでExchangeOnlineのメールボックス使用率を取得する方法をご紹介しました。
このバッチを定期実行させることでメールボックスの使用率を監視し、満杯になる前に不要なメールの削除などの対策を打つことができます。
弊社ではMicrosoft365などグループウェアの導入や保守業務などを承っております。
ぜひお気軽にご相談ください。