会議室メールボックスをCSVファイルから一括作成する方法について記載する。
検証環境について
動作確認した検証環境は以下の通り。
OS:Microsoft Windows 11 Enterprise
OSbuildバージョン:10.0.22621
PowerShellのバージョン:7.4.0
ExchangePowershellのモジュール名とバージョン
ExchangeOnlineManagement:3.4.0サインインアカウントの権限はグローバル管理者。
使用するコマンド
New-Mailbox
Set-MailboxRegionalConfiguration
Set-MailboxCalendarConfiguration
Set-CalendarProcessing
Set-MailboxFolderPermission
CSVファイルを作成する
使用例
#CSVの保存先 windowsOSの場合、デスクトップに保存する
$csvSavePath = "$env:USERPROFILE\Desktop"
#CSVのファイル名
$csvFileName = "roomList.csv"
#指定したいパラメータ
$roomPrmCSV = [PSCustomObject]@{
DisplayName = $null
PrimarySmtpAddress = $null
ResourceCapacity = $null
Office = $null
}
#CSVファイルとして保存する
$roomPrmCSV | Export-Csv -Path "${csvSavePath}\${csvFileName}" `
-Encoding utf8 -NoTypeInformationCSV記載例
| DisplayName | PrimarySmtpAddress | Office | ResourceCapacity |
|---|---|---|---|
| 会議室101 | 101_room@365ps.jp | hogehogeビル | 4 |
| 会議室102 | 102_room@365ps.jp | hugahugaビル | 5 |
| 会議室103 | 103_room@365ps.jp | piyopiyoビル | 7 |
各パラメータの内容
- DisplayName
アドレス帳に表示される会議室の名前 - PrimarySmtpAddress
アドレス帳に表示される会議室のメールアドレス - ResourceCapacity
会議室内にどれだけ座席があるかを示す数値 - Office
会議室の場所。ビル名や事務所名、住所を記載する。
CSVを読み込み会議室を作成する
#ExchangePowerShellに接続する
Connect-ExchangeOnline -ShowBanner:$false
#作成したCSVファイルを読み込む
$csvData = Import-Csv "$env:USERPROFILE\Desktop\roomList.csv"
#CSVに記載した会議室の数だけ繰り返す
foreach($roomInfo in $csvData){
#CSVのデータを取り出し会議室を作成する
New-Mailbox -Room `
-Name $roomInfo.PrimarySmtpAddress.Split("@")[0] `
-DisplayName $roomInfo.DisplayName `
-PrimarySmtpAddress $roomInfo.PrimarySmtpAddress `
-ResourceCapacity $roomInfo.ResourceCapacity
}
#上記で作成したすべての会議室のカレンダー設定を変更する
foreach($roomInfo in $csvData){
#会議室メールボックスの言語、タイムゾーンを設定する
Set-MailboxRegionalConfiguration `
-Identity $roomInfo.PrimarySmtpAddress `
-Language ja-JP `
-LocalizeDefaultFolderName `
-TimeZone "Tokyo Standard Time"
#カレンダーのタイムゾーン、開始時間、終了時間を変更する
Set-MailboxCalendarConfiguration `
-Identity $roomInfo.PrimarySmtpAddress `
-WorkingHoursStartTime 10:00:00 `
-WorkingHoursEndTime 18:00:00 `
-WorkingHoursTimeZone "Tokyo Standard Time"
#会議室予約時の件名、本文を表示し、非公開予定を登録することを許可する
Set-CalendarProcessing `
-Identity $roomInfo.PrimarySmtpAddress `
-AddOrganizerToSubject $false `
-DeleteSubject $false `
-DeleteComments $false `
-RemovePrivateProperty $false
#予定表の閲覧権限を変更する
Set-MailboxFolderPermission `
-Identity ($roomInfo.PrimarySmtpAddress + ":\予定表") `
-User "既定" `
-AccessRights Reviewer
}
Disconnect-ExchangeOnline -Confirm:$false問い合わせフォーム
リンク切れのご報告や、記載内容に不備がありましたら、お手数をおかけしますが
以下お問い合わせフォームからご報告をお願い致します。
コマンドの仕様確認やエラー内容の確認、対処方法については、ご契約されているMicrosoftかCSPへお問い合わせください。
※いただきました内容は確認させていただきますが、必ずしも回答をお約束するものではございません。






