PowerShell で Microsoft 365 の会議室を一括登録する
前回に続いて、「PowerShell で Microsoft 365 の〇〇を一括登録する」シリーズです。今回は会議室を一括登録します。
CSV の準備
会議室の場合は、以下のような CSV を作成します。文字コードは UTF-8、改行コードは CRLF で。後でパスを指定することになるので、わかりやすい場所に保存しておきます(C:\temp\room.csv
など)。
Name,Alias,PrimarySmtpAddress,ResourceCapacity
A会議室,room_a,room_a@example.com,8
ResouceCapacity
は会議室の定員です。
一括登録の実行
以下のコマンドを実行して Exchange に接続します。
$UserCredential = Get-Credential
# Microsoft 365 のログイン情報を入力
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
その後、以下のコマンドを実行して一括登録します。
Import-Csv -Path C:\temp\room.csv -Encoding UTF8 | foreach {New-Mailbox -Name $_.Name -Alias $_.Alias -ResourceCapacity $_.ResourceCapacity -Room} | Export-Csv -Path C:\temp\room_result.csv
実行結果は C:\temp\room_result.csv
に出力されるので確認しておきましょう。
メールボックスの言語設定&予定表のアクセス権限の設定
こちらについては、前回も説明したので、コマンドだけ紹介します。以下のコマンドを実行すると、言語設定が日本語に、他のユーザーが会議室に入っている予定情報の詳細を見られるようになります。
# メールボックスの言語設定
Get-Mailbox -Filter "RecipientTypeDetails -eq 'RoomMailbox'" | foreach {Set-MailboxRegionalConfiguration -Identity $_.Alias -DateFormat "yyyy/MM/dd" -TimeFormat "H:mm" -TimeZone "Tokyo Standard Time" -LocalizeDefaultFolderName:$True -Language "ja-JP"}
# 予定表のデフォルトアクセス権限の設定
Get-Mailbox -Filter "RecipientTypeDetails -eq 'RoomMailbox'" | foreach {Set-MailboxFolderPermission -Identity "$($_.Alias):\予定表" -User "Default" -AccessRights Reviewer}
コマンドの動きとしては、メールボックス情報を取得して foreach でループさせつつ、設定を行っています。-Identity "$($_.Alias):\予定表"
の部分が個人的には見慣れない書き方だったのですが、部分式演算子(Sub-Expressions)というそうです。$($変数名)
で、変数の中身を展開することができます。$_.Alias
が room_a ならば、-Identity "room_a:\予定表"
になるわけです。
会議室の予定表に会議の件名を表示する
デフォルトの設定では、会議室を参加者に指定して会議を作成すると、会議室の予定表には招集した人の名前が表示されます。誰が会議室を押さえたかがわかるだけでよければ、このままの設定でよいと思いますが、会議の件名を表示するように設定するには、以下のコマンドを実行します。
Get-Mailbox -Filter "RecipientTypeDetails -eq 'RoomMailbox'" | foreach {Set-CalendarProcessing -Identity $_.Alias -AddOrganizerToSubject $False -DeleteSubject $False}
ディスカッション
コメント一覧
まだ、コメントがありません