MENU

Exchange Online 管理者必見!業務効率化に役立つPowerShellスクリプト5選

Exchange Onlineの管理には、メールボックスの設定や配布グループの管理、監査など、さまざまなタスクがあります。特にユーザー数が多い場合や、大規模な組織での管理業務は手間がかかりますが、PowerShellスクリプトを活用すれば業務の効率化が可能です。

この記事では、Exchange Online管理者に役立つPowerShellスクリプトを5つ紹介します。日々の管理作業にぜひお役立てください。

目次

メールボックスのサイズを一括で確認

メールボックスの使用容量は、容量制限に達する前に確認しておくことが重要です。このスクリプトでは、すべてのユーザーのメールボックスサイズを一括で取得し、容量不足に対する対応を迅速に行えます。

# すべてのメールボックスのサイズを取得
$mailboxes = Get-Mailbox -ResultSize Unlimited

foreach ($mailbox in $mailboxes) {
    $size = Get-MailboxStatistics -Identity $mailbox.Alias
    Write-Host "$($mailbox.DisplayName): $($size.TotalItemSize)"
}

ポイント

  • メールボックス容量が大きいユーザーを特定し、対応を検討できます。
  • TotalItemSizeでユーザーのメールボックス使用容量を取得しています。

非アクティブなメールボックスの特定

Exchange Onlineで非アクティブなメールボックスが多いと、容量を無駄に消費してしまうことがあります。このスクリプトで、一定期間メールにアクセスしていない非アクティブなメールボックスを確認できます。

# 180日以上メールにアクセスしていないメールボックスを特定
$inactiveMailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object {
    (Get-MailboxStatistics -Identity $_.Alias).LastLogonTime -lt (Get-Date).AddDays(-180)
}

# 非アクティブなメールボックスを表示
$inactiveMailboxes | Select-Object DisplayName,PrimarySmtpAddress,LastLogonTime

ポイント

  • メールボックスの最終ログイン日時をもとに、180日以上アクセスしていないユーザーを抽出しています。
  • 非アクティブなメールボックスの整理が可能です。

受信ルールの一括適用

Exchange Onlineでは、スパムメールの処理や特定の送信者からのメールの管理に受信ルールが便利です。このスクリプトでは、特定の受信ルールをすべてのユーザーに適用します。

# 受信ルールを一括で追加
$mailboxes = Get-Mailbox -ResultSize Unlimited

foreach ($mailbox in $mailboxes) {
    New-InboxRule -Mailbox $mailbox.Alias -Name "BlockSpam" -From "spam@domain.com" -DeleteMessage
}

ポイント

  • すべてのユーザーの受信トレイに「spam@domain.com」からのメールを自動削除するルールを適用しています。
  • 不要なメールを自動でフィルタリングできるため、ユーザーの受信トレイが整理されます。

メールボックス監査の有効化

監査ログは、セキュリティインシデントの発見や内部調査の際に役立ちます。このスクリプトでは、メールボックス監査を一括で有効化し、特定の操作が記録されるよう設定します。

# 監査を有効化するメールボックスの取得
$mailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object {$_.AuditEnabled -eq $false}

# 各メールボックスで監査を有効化
foreach ($mailbox in $mailboxes) {
    Set-Mailbox -Identity $mailbox.Alias -AuditEnabled $true -AuditOwner MailboxLogin,SendAs -AuditDelegate SendOnBehalf,SendAs,MoveToDeletedItems
}

ポイント

  • メールボックス監査を有効化することで、特定のアクション(メールの送信や削除など)が記録されます。
  • セキュリティ監査の精度が上がり、万が一の際の原因特定がスムーズになります。

配布グループメンバーの一括確認

配布グループのメンバーは、定期的に見直しが必要です。このスクリプトを使用すると、すべての配布グループとそのメンバーの一覧を簡単に確認できます。

# 配布グループの取得
$groups = Get-DistributionGroup -ResultSize Unlimited

# 各グループのメンバー一覧を表示
foreach ($group in $groups) {
    Write-Host "グループ: $($group.DisplayName)"
    Get-DistributionGroupMember -Identity $group.Alias | ForEach-Object {
        Write-Host "  - $($_.DisplayName)"
    }
}

ポイント

  • 配布グループのメンバーを一括で確認でき、グループの適切な運用が可能になります。
  • 必要に応じて、不要なメンバーの削除や新規メンバーの追加が行いやすくなります。

まとめ

Exchange Onlineの管理は、多くの設定や監視を要するため、管理者にとって手間がかかることが多いです。しかし、PowerShellスクリプトを活用することで、業務の効率化が図れ、セキュリティやメールボックス容量の管理がよりスムーズに行えます。今回紹介したスクリプトをぜひ日常の業務に取り入れて、より効果的な管理を目指しましょう。

今後もExchange Online管理者に役立つ情報を発信していきますので、引き続き当ブログをお楽しみに!

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!

    コメント

    コメントする

    CAPTCHA


    目次