社畜の所業

社畜の所業

Office365の機能について解説をしていきたいと思います。このブログの情報をご活用いただければ幸いです。たまに他の情報も取り入れていきたいと思います。

【Office365参考書】メールボックスの容量の警告値を変更するには?

f:id:it-bibouroku:20200305151118j:plain

警告値につきましては、IssueWarningQuota、ProhibitSendQuota、ProhibitSendReceiveQuota の値があります。

  

それぞれの値の内容と既定の値は以下のとおりです。

  

Exchange Online プラン 1 が含まれるライセンス

・IssueWarningQuota (使用容量の警告メッセージを送信する容量)     : 既定 49 GB 

・ProhibitSendQuota (メッセージを送信が制限される容量)              : 既定 49.5 GB 

・ProhibitSendReceiveQuota (メッセージを送受信が制限される容量)  : 既定 50 GB 

  

Exchange Online プラン 2 が含まれるライセンス

・IssueWarningQuota (使用容量の警告メッセージを送信する容量)     : 既定 98 GB 

・ProhibitSendQuota (メッセージを送信が制限される容量)              : 既定 99 GB 

・ProhibitSendReceiveQuota (メッセージを送受信が制限される容量)  : 既定 100 GB 

  

 

以下の記事もご参照ください。

 

 

it-bibouroku.hateblo.jp

 

なお、上記の警告値については、Powershellのコマンドレットで変更することが可能ですのでご紹介していきたいと思います。

  

 

以下の記事を参考にExchangeOnlineに接続してから実行してください。

 

 

it-bibouroku.hateblo.jp

 

なお、警告値は以下のように IssueWarningQuotaの容量はProhibitSendQuotaよりも小さく、ProhibitSendQuotaの容量は、ProhibitSendReceiveQuotaよりも小さくしなくてはいけません。 

 

IssueWarningQuota < ProhibitSendQuota < ProhibitSendReceiveQuota

  

 

 

 

ユーザー単位で設定する場合

[構文] 

Set-Mailbox -GroupMailbox -Identity <メールアドレス> -IssueWarningQuota <設定したい容量> -ProhibitSendQuota <設定したい容量> -ProhibitSendReceiveQuota <設定したい容量> 

  

[実行例] 

Set-Mailbox -GroupMailbox -Identity user@contoso.com -IssueWarningQuota "80GB" -ProhibitSendQuota "85GB" -ProhibitSendReceiveQuota "90GB" 

 

複数のユーザーを一括で設定する場合

設定を行うメールボックスを記載した CSV ファイルを作成します。 

CSV ファイルの記述方法について、以下にサンプルをご案内いたします。 

  

<CSV ファイルの構文> 

Identity 

[対象メールボックスのアドレス (Identity)] 

  

<CSV ファイルの作成例> 

Identity 

User01@contoso.com 

User02@contoso.com 

(以下 省略) 

  

※ 1 行目は固定で、設定を行うユーザーやアドレスを 2 行目以降に記載します。 

※ 日本語を含めた CSV ファイルを作成される際には、文字化けが発生する可能性がございますので UTF-8 形式での保存をお願いいたします。 

※ ユーザー数が多い場合は、1,000 名ずつくらいに分けてください。 

  

[補足] UTF-8 での保存の手順 

(1). CSV ファイルを右クリックし、[プログラムから開く] - [メモ帳] の順にクリックします 

(2). 開いたメモ帳で [ファイル] - [名前を付けて保存] の順にクリックします。 

(3). ファイルの種類で「すべてのファイル」を選択します。 

(4). 文字コードで「UTF-8」を選択します。 

(5). [保存] をクリックします。 

  

作成した CSV ファイルをインポートして、各設定された値を変更します。 

  

[構文] 

Import-Csv "<保存した CSV ファイルパス>" | Foreach {Set-Mailbox -Identity $_.Identity -ProhibitSendReceiveQuota <設定する容量> -ProhibitSendQuota <設定する容量> -IssueWarningQuota <設定する容量>} 

  

[実行例] 

Import-Csv "C:\Temp\MailboxList.csv" | Foreach {Set-Mailbox -Identity $_.Identity -IssueWarningQuota 98GB -ProhibitSendQuota 99GB -ProhibitSendReceiveQuota 100GB} 

  

※ 実行例は C ドライブの Temp フォルダー内に保存した MailboxList.csv ファイルを指定しております。 

   

   

すべてのユーザーを変更する場合

[構文] 

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -IssueWarningQuota "設定する容量" -ProhibitSendQuota "設定する容量" -ProhibitSendReceiveQuota "設定する容量" 

  

[実行例] 

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Set-Mailbox -IssueWarningQuota 98GB -ProhibitSendQuota 99GB -ProhibitSendReceiveQuota 100GB 

 

 

ExchangeOnlineのプランごとに変更する場合

ExchangeOnlinePlan1のユーザーだけ変更やExchangeOnlinePlan2のユーザーだけ変更する場合の手順です。

 

 1. Windows PowerShell の起動 

Windows PowerShell を管理者として起動し、接続のため以下のコマンドレットを実行します。 

  

【コマンドレット】 

Connect-MsolService 

  

【留意事項】 

・モジュールがインストールされていないとエラーとなり接続ができません。 

・以下公開情報の手順にそって、[MSOnline (Azure AD v1)] のインストールから実施してください。

 

 

docs.microsoft.com

  

 2. 以下のコマンドレットを実行して、Exchange Online Plan1 と Plan2 が有効になっている、すべてのユーザーの情報を CSV ファイルに出力します。  

※ それぞれのユーザーを CSV ファイルに出力します。 

  

<指定する ServiceName> 

Exchange Online Plan1 : EXCHANGE_S_STANDARD 

Exchange Online Plan2 : EXCHANGE_S_ENTERPRISE 

   

[構文] 

$skuList = @(); Get-MsolUser -All | % {$upn = $_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | % {$sku = $_.AccountSkuId; $_.ServiceStatus | ForEach-Object { $skuList += @{UserPrincipalName = $upn; DisplayName = $dpn; AccountSkuId = $sku; ServiceName = $_.ServicePlan.ServiceName; ProvisioningStatus = $_.ProvisioningStatus;} } } }; $skuList | Select-Object @{n="UserPrincipalName"; e={$_.UserPrincipalName}}, @{n="DisplayName"; e={$_.DisplayName}}, @{n="AccountSkuId"; e={$_.AccountSkuId}}, @{n="ServiceName"; e={$_.ServiceName}}, @{n="ProvisioningStatus"; e={$_.ProvisioningStatus}} | Where-Object {$_.ServiceName -eq "<対象サービスのServiceName>" -and $_.ProvisioningStatus -ne "Disabled"} | Export-CSV -Encoding UTF8 -Path <ファイルパス\ファイル名>.csv -NoTypeInformation 

   

[実行例]  

$skuList = @(); Get-MsolUser -All | % {$upn = $_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | % {$sku = $_.AccountSkuId; $_.ServiceStatus | ForEach-Object { $skuList += @{UserPrincipalName = $upn; DisplayName = $dpn; AccountSkuId = $sku; ServiceName = $_.ServicePlan.ServiceName; ProvisioningStatus = $_.ProvisioningStatus;} } } }; $skuList | Select-Object @{n="UserPrincipalName"; e={$_.UserPrincipalName}}, @{n="DisplayName"; e={$_.DisplayName}}, @{n="AccountSkuId"; e={$_.AccountSkuId}}, @{n="ServiceName"; e={$_.ServiceName}}, @{n="ProvisioningStatus"; e={$_.ProvisioningStatus}} | Where-Object {$_.ServiceName -eq "EXCHANGE_S_ENTERPRISE" -and $_.ProvisioningStatus -ne "Disabled"} | Export-CSV -Encoding UTF8 -Path C:\temp\EXO2.csv -NoTypeInformation 

※ C ドライブの配下の temp フォルダーに EXO2.csv という名前のファイルで情報保存する場合 

※ 上記の例では、Exchange Online Plan2 のユーザーを指定しています。 

 

  

3. 作成した CSV ファイルをインポートし、一括でユーザーの警告値を変更します。 

※Exchange Online に接続してから実行してください。 

   

[構文] 

Import-Csv "<保存した CSV ファイルパス>" | Foreach {Set-Mailbox -Identity $_.UserPrincipalName -ProhibitSendReceiveQuota <設定する容量> -ProhibitSendQuota <設定する容量> -IssueWarningQuota <設定する容量>} 

  

[実行例] 

Import-Csv "C:\Temp\EXO2.csv" | Foreach {Set-Mailbox -Identity $_.Identity -IssueWarningQuota 98GB -ProhibitSendQuota 99GB -ProhibitSendReceiveQuota 100GB} 

  

※ 実行例は C ドライブの Temp フォルダー内に保存した EXO2.csv ファイルを指定しております。