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つご紹介しました。これらのスクリプトを活用することで、日々の管理業務を大幅に効率化し、セキュリティリスクの低減やリソースの適切な割り当てが可能になります。ぜひ、日常業務に取り入れてみてください!
日々の業務を効率化するためのツールやスクリプトについて、今後も継続的に紹介していきますので、引き続き当ブログをチェックしてください!
コメント