MENU

Microsoft 365 管理者必見!効率化に役立つ便利なPowerShellスクリプト5選

Microsoft 365の管理者は、日々多くの業務に追われているかもしれません。ユーザーの追加やライセンスの割り当て、セキュリティ監視、メールボックスの管理など、やるべきことが盛りだくさんです。そこで役立つのが、PowerShellを使ったスクリプトです。PowerShellを使えば、日々の運用を効率化し、繰り返し作業を自動化することができます。

今回は、Microsoft 365管理者にとって便利なPowerShellスクリプトを5つ紹介します。これらのスクリプトを活用して、管理作業をスムーズに進めましょう。

目次

ユーザーの一括作成と管理

Microsoft 365に新しいユーザーを追加する際、1人ずつ手作業で作成するのは大変です。このスクリプトを使えば、CSVファイルにまとめたユーザー情報を一括でMicrosoft 365に登録できます。

# CSVファイルのパス
$csvPath = "C:\Users.csv"

# CSVからユーザー情報を読み込み
$users = Import-Csv $csvPath

# 各ユーザーを作成
foreach ($user in $users) {
    New-MsolUser -UserPrincipalName $user.UserPrincipalName `
                 -DisplayName $user.DisplayName `
                 -FirstName $user.FirstName `
                 -LastName $user.LastName `
                 -LicenseAssignment $user.LicenseAssignment
}

ポイント

  • 事前にCSVファイルにユーザー情報(UserPrincipalName, DisplayName, FirstName, LastName, LicenseAssignment)を入力しておく必要があります。
  • 大量のユーザーを効率よく作成できます。

ライセンスの一括割り当て

新しいユーザーを作成したら、次にライセンスを割り当てる作業が必要です。このスクリプトを使えば、未ライセンスのユーザーに対して一括でライセンスを割り当てることができます。

$users = Get-MsolUser -All | Where-Object {$_.IsLicensed -eq $false}

foreach ($user in $users) {
    Set-MsolUserLicense -UserPrincipalName $user.UserPrincipalName -AddLicenses "yourtenant:ENTERPRISEPACK"
}

ポイント

  • 自動的に未ライセンスのユーザーを見つけてライセンスを割り当てます。
  • “yourtenant” の部分は、割り当てるライセンスに応じて変更します。

サインインログの監視

セキュリティ対策として、ユーザーのサインイン状況を定期的にチェックすることが重要です。このスクリプトでは、最近のサインインアクティビティを取得し、異常なアクセスがないか確認できます。

# AzureAD PowerShellモジュールのインポート
Import-Module AzureAD

# ログインアクティビティを取得
$logins = Get-AzureADAuditSignInLogs -Top 100

# ログを確認
$logins | Format-Table UserDisplayName,IPAddress,Status,CreatedDateTime

ポイント

  • 最新の100件のサインインログを表示します。
  • 不審なIPアドレスやサインインの失敗があった場合に早期に発見できます。

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

メールボックスの容量は定期的に監視して、容量不足が発生する前に対策を取る必要があります。このスクリプトを使えば、各ユーザーのメールボックスサイズを簡単に確認できます。

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

# 各メールボックスのサイズを表示
foreach ($mailbox in $mailboxes) {
    $size = Get-MailboxStatistics -Identity $mailbox.Alias
    Write-Host "$($mailbox.DisplayName): $($size.TotalItemSize)"
}

ポイント

  • メールボックスのサイズが一目で確認でき、容量が逼迫しているユーザーへの対応がしやすくなります。

非アクティブユーザーの特定

一定期間サインインしていない非アクティブなユーザーがいる場合、アカウントのセキュリティリスクを回避するためにも、適切に対処することが必要です。このスクリプトでは、90日以上サインインしていないユーザーを特定できます。

ポイント

  • サインインしていないユーザーを定期的に確認し、アカウントの無効化や削除の判断ができます。
  • セキュリティ対策の一環として、非アクティブなユーザーの管理は重要です。

まとめ

以上、Microsoft 365管理者にとって役立つPowerShellスクリプトを5つご紹介しました。これらのスクリプトを活用することで、日々の管理業務を大幅に効率化し、セキュリティリスクの低減やリソースの適切な割り当てが可能になります。ぜひ、日常業務に取り入れてみてください!

日々の業務を効率化するためのツールやスクリプトについて、今後も継続的に紹介していきますので、引き続き当ブログをチェックしてください!

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

    コメント

    コメントする

    CAPTCHA


    目次