社畜の所業

社畜の所業

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

※このサイトはPR記事を含みます。

【Microsoft365参考書】複数のユーザーのエイリアス(セカンダリアドレス)を一括で削除するには?

f:id:it-bibouroku:20210404095716p:plain

メールボックスには、送受信可能なプライマリアドレスと受信のみ可能なエイリアス(セカンダリアドレス)が登録可能です。

 

今回は複数のユーザーのエイリアス (セカンダリアドレス) を一括で削除する方法として、Powershellで以下のコマンドレットにて可能です。 

個別で削除、および、複数のユーザーを一括で削除する手順をご紹介します。

 

ExchangeOnlineに接続してから実行してください。

it-bibouroku.hateblo.jp

 

 

  

個別にエイリアスを削除する手順

  

[構文] 

Set-Mailbox -Identity <共有メールボックスのアドレス> -EmailAddresses @{Remove="smtp:エイリアス"} 

  

[実行例] 

Set-Mailbox -Identity user01@contoso.com -EmailAddresses @{Remove="smtp:user01sub@contoso.co.jp"} 

 

複数のユーザーのエイリアスを一括で削除する場合

 

1. [対象メールアドレス、削除するエイリアス] で構成された CSV ファイルを作成 

[CSV ファイル構文例] 

1 行目 : PrimarySmtpAddress,RemoveSmtpAddress 

2 行目 : 該当のメールボックスのプライマリアドレス,削除するエイリアス 

※ 3 行目以降は 2 行目と同様に入力してください 

  

[作成例] 

PrimarySmtpAddress,RemoveSmtpAddress 

user01@contoso.com,user01sub@contoso.co.jp 

user01@contoso.com,user01sub@contoso.onmicrosoft.com 

user02@contoso.com,user02sub@contoso.co.jp 

  

  

※ 上記例の 2 行目では、現在 user01@contoso.com がプライマリ SMTP アドレスと設定されているメールボックスに対して、エイリアス user01sub@contoso.co.jp を削除するよう記載しています。 

※ 1 ユーザーで複数のエイリアスを削除する場合は、行を分けて記載してください。 

CSVファイルとして保存する際は、文字化けを防ぐため文字コードUTF-8にご指定ください。 

  

[CSV ファイル を UTF-8 で保存する手順] 

  1. CSV ファイルを右クリックし、[プログラムから開く] - [メモ帳] の順にクリックします
  2. 開いたメモ帳で [ファイル] - [名前を付けて保存] の順にクリックします。
  3. ファイルの種類で「すべてのファイル」を選択します。
  4. 文字コードで「UTF-8」を選択します。
  5. [保存] をクリックします。

  

2. エイリアスを一括削除する Powershell コマンドレットを実行 

項番 1 にて作成した CSV ファイルを読み込み、一括でエイリアスを削除します。 

  

[基本構文] 

Import-CSV "<保存した CSV ファイルパス>" | Foreach {Set-Mailbox -Identity $_.PrimarySmtpAddress -EmailAddresses @{Remove="smtp:$($_.RemoveSmtpAddress)"}} 

  

[実行例] 

Import-CSV "C:\Temp\RemoveSmtpAddress.csv" | Foreach {Set-Mailbox -Identity $_.PrimarySmtpAddress -EmailAddresses @{Remove="smtp:$($_.RemoveSmtpAddress)"}} 

  

※ 上記実行例では、C ドライブ配下 Temp フォルダに保存した RemoveSmtpAddress.csv というファイルを読み込むコマンドとなります。

 

 

 

it-bibouroku.hateblo.jp

 

なお、すべてのユーザーメールボックスエイリアスを確認する場合は、以下のコマンドレットで可能です。  

 

 

すべてのユーザーメールボックスエイリアスを確認するコマンド 

[実行例] 

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select DisplayName,EmailAddresses | Export-Csv -Encoding Utf8 -NoTypeInformation -Path "C:\temp\Mailbox.csv

※保存先を C:\Temp\ に指定し、Mailbox.csv というファイル名で保存しております。

  

※ [RecipientTypeDetails] の後のメールボックスの属性は適宜変更することで各メールボックスの抽出が可能です。 

複数のメールボックスの属性を指定するにはカンマ区切りでにて可能です。 

例 Get-Mailbox -RecipientTypeDetails UserMailbox,SharedMailbox 

  

[メールボックスの属性] 

ユーザー メールボックス : UserMailbox 

共有メールボックス : SharedMailbox 

備品メールボックス : EquipmentMailbox 

会議室メールボックス : RoomMailbox 

  

<実行結果について> 

DisplayName : 表示名 

EmailAddresses : メールボックスに設定されているアドレス (SMTP - プライマリアドレス、smtp - エイリアス

 

補足でありますが、配布リストのエイリアスを削除するコマンドレットもご案内します。

 

 

個別にエイリアスを削除する手順

[構文] 

Set-DistributionGroup -Identity <配布グループのアドレス> -EmailAddresses @{Remove="smtp:エイリアス"} 

  

[実行例] 

Set-DistributionGroup -Identity user01@contoso.com -EmailAddresses @{Remove="smtp:user2@contoso.com"} 

  

複数のユーザーのエイリアスを削除する手順

 

1. [対象メールアドレス、削除するエイリアス] で構成された CSV ファイルを作成 

[CSV ファイル構文例] 

1 行目 : PrimarySmtpAddress,RemoveSmtpAddress 

2 行目 : 該当の配布グループのプライマリアドレス,削除するエイリアス 

※ 3 行目以降は 2 行目と同様に入力してください 

  

[作成例] 

PrimarySmtpAddress,RemoveSmtpAddress 

user01@contoso.com,user01sub@contoso.co.jp 

user01@contoso.com,user01sub@contoso.onmicrosoft.com 

user02@contoso.com,user02sub@contoso.co.jp 

  

  

※ 1 ユーザーで複数のエイリアスを削除する場合は、行を分けて記載してください。 

CSVファイルとして保存する際は、文字化けを防ぐため文字コードUTF-8にご指定ください。 

  

[CSV ファイル を UTF-8 で保存する手順] 

  1. CSV ファイルを右クリックし、[プログラムから開く] - [メモ帳] の順にクリックします
  2. 開いたメモ帳で [ファイル] - [名前を付けて保存] の順にクリックします。
  3. ファイルの種類で「すべてのファイル」を選択します。
  4. 文字コードで「UTF-8」を選択します。
  5. [保存] をクリックします。

  

  

2. エイリアスを一括削除する Powershell コマンドレットを実行 

項番 1 にて作成した CSV ファイルを読み込み、一括でエイリアスを削除します。 

  

[基本構文] 

Import-CSV "<保存した CSV ファイルパス>" | Foreach {Set-DistributionGroup -Identity $_.PrimarySmtpAddress -EmailAddresses @{Remove="smtp:$($_.RemoveSmtpAddress)"}} 

  

[実行例] 

Import-CSV "C:\Temp\RemoveSmtpAddress.csv" | Foreach {Set-DistributionGroup -Identity $_.PrimarySmtpAddress -EmailAddresses @{Remove="smtp:$($_.RemoveSmtpAddress)"}}