社畜の所業

社畜の所業

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

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

【Office365参考書】特定のドメインのエイリアス(セカンダリアドレス)を利用しているメールボックス情報を出力ことは可能か?

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

特定ドメインを利用しているユーザーメールボックスの抽出を行うことは可能ですが、 エイリアス (セカンダリアドレス) のみに特化したコマンドレットは無いため、プライマリアドレスも含めた抽出する方法となります。

 

抽出された csv ファイルより、該当ドメインがプライマリアドレスであるのか、セカンダリアドレスであるのか確認することはできます。 

  

 

以下のサイトの手順にて、Exchange Online に接続してから実行してください。 

  

 

it-bibouroku.hateblo.jp

 

  

[構文] 

Get-Mailbox -Resultsize Unlimited -RecipientTypeDetails UserMailbox -Filter {EmailAddresses -like "*@対象ドメイン名"} | Select DisplayName,EmailAddresses | Export-Csv -Encoding Utf8 -NoTypeInformation -Path "保存先\ファイル名.csv

  

[実行例] 

Get-Mailbox -Resultsize Unlimited -RecipientTypeDetails UserMailbox -Filter {EmailAddresses -like "*@contoso.com"} | Select DisplayName,EmailAddresses | Export-Csv -Encoding Utf8 -NoTypeInformation -Path "C:\temp\Mailbox-list.csv

  

[実行結果例] 

DisplayName : 表示名   

EmailAddresses : 出力値を以下に記載します 

・[smtp]  : ユーザーのセカンダリ smtp アドレス 

・[SMTP]  : ユーザーのプライマリ SMTP アドレス  

  

また、以下のコマンドレットをご利用いただくことで特定のセカンダリアドレスを削除することが可能です。 

※ 上述したコマンドレットにて、出力した csv ファイルを利用する方法となっております。

  

1. 出力された csv ファイルを編集し "メールアドレスの削除処理を行うユーザー " のみを記述、また [EmailAddresses] 部分については "削除処理を行うセカンダリメールアドレスのみが記述されている状態" とする csv ファイルを作成します。 

---------- 

[CSV ファイル例] 

DisplayName,EmailAddresses 

user01,user01-old@contoso.com 

user02,user02-old@contoso.com 

user03,user03-old@contoso.com 

  

※ 1 行目は固定で、2 行目以降に対象のメールボックス情報を記載します。 

※ 2 行目では、user01 のメールボックスに設定されているセカンダリメールアドレス user01-old@contoso.com を削除する場合の記載例となります。 

CSV ファイルを保存する際には、文字化けを防止するために UTF-8 形式で保存します。 

  

<UTF-8 での保存例> 

  1. 作成したファイルをメモ帳で開きます。
  2. [ファイル] - [名前を付けて保存] の順にクリックします。
  3. [ファイル名] を任意の名前で入力し、拡張子を [.CSV] に変更します。
  4. [文字コード] で [UTF-8] を選択します。
  5. [保存] をクリックします。

  

※ 本実行例では、C ドライブ直下の Temp フォルダに Mailbox-list2.csv として保存しております。 

  

2. 下記コマンドレットにてセカンダリメールアドレスを一括削除します。 

---------- 

[実行例] 

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