社畜の所業

社畜の所業

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

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

【Microsoft365参考書】セカンダリアドレスの削除ができない場合はUPNと重複している?一括で削除するには。

セカンダリアドレス削除できない

 

 

セカンダリアドレス(エイリアス)を削除できない場合、UPN(ユーザー名)に登録している値と同一であることが想定されます。

削除するためには、UPNに登録されている値をセカンダリアドレスと異なる値に変更する必要があります。

 

今回は、複数のユーザーのUPNの変更とセカンダリアドレスの削除を一括でおこなう方法についてご紹介したいと思います。

 

 

 

UPN を一括で変更する手順 

【事前準備】 

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

接続のために以下のコマンドレットを実行し、管理者ユーザーの ID とパスワードを入力します。 

  

【コマンドレット】 

Connect-MsolService 

  

1. CSV ファイルを作成します。 

対象ユーザーの情報を記載した CSV ファイルを作成します。 

  

【作成例】 

UserPrincipalName,NewUserPrincipalName 

User1@contoso.com,User1@contoso.onmicrosoft.com 

User2@contoso.com,User2@contoso.onmicrosoft.com 

User3@contoso.com,User3@contoso.onmicrosoft.com 

 

  

【説明】 

行目に [UserPrincipalName][NewUserPrincipalName] と記載し、行目以降に対象ユーザーの現在の UPN と新しい UPN を記載します。 

UserPrincipalName : 現在の UPN 

NewUserPrincipalName : 変更後の UPN 

・ネットワークに負荷が生じる恐れがありますので、作成する 1 つの CSV ファイルでは、1,000 ユーザー以内で作成することをお勧めします。 

  

 

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

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

  

2. UPN を一括で変更する 

以下のコマンドレットを実行します。 

  

【コマンドレット】 

Import-Csv "<1. で作成したファイル名>.csv" | Foreach-Object {Set-MsolUserPrincipalName -UserPrincipalName $_.UserPrincipalName -NewUserPrincipalName $_.NewUserPrincipalName} 

  

【実行例】 

Import-Csv "C:\temp\UserList.csv" | Foreach-Object {Set-MsolUserPrincipalName -UserPrincipalName $_.UserPrincipalName -NewUserPrincipalName $_.NewUserPrincipalName} 

  

【説明】 

・上記実行例は C ドライブ直下の temp フォルダに保存された UserList.csv ファイルに記載されているユーザーの UPN を一括で変更します。 

NewUserPrincipalName に指定した値はプライマリアドレスに登録され、元々プライマリアドレスであった値はセカンダリアドレスへ移動します。 

  

docs.microsoft.com

  

 

 

セカンダリアドレスを一括で削除する手順 

  【事前準備】 

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

  

it-bibouroku.hateblo.jp

 

  

1. CSV ファイルを作成します。 

対象ユーザーの情報を記載した CSV ファイルを作成します。 

  

【作成例】 

PrimarySmtpAddress,RemoveSmtpAddress 

User1@contoso.onmicrosoft.com,User1@contoso.com 

User2@contoso.onmicrosoft.com,User2@contoso.com 

User3@contoso.onmicrosoft.com,User3@contoso.com 

  

  

【説明】 

行目に [PrimarySmtpAddress][RemoveSmtpAddress] と記載し、行目以降に対象ユーザーのプライマリアドレスと削除するセカンダリアドレスを記載します。 

PrimarySmtpAddress : プライマリアドレス 

RemoveSmtpAddress : 削除するセカンダリアドレス 

  

[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 ファイルに記載されているユーザーのセカンダリアドレスを一括で変更します。 

  

docs.microsoft.com

  

なお、すべてのユーザーメールボックス UPN とプライマリアドレスとセカンダリアドレスを CSV ファイルに一覧として取得する場合、以下のコマンドレットをで可能です。 

 

<構文> 

Get-Mailbox -ResultSize unlimited -RecipientTypeDetails UserMailbox | Select UserPrincipalName,EmailAddresses | Export-CSV -Encoding UTF8 -Path <ファイルパス\ファイル名>.csv -NoTypeInformation 

  

<実行例> 

Get-Mailbox -ResultSize unlimited -RecipientTypeDetails UserMailbox | Select UserPrincipalName,EmailAddresses | Export-CSV -Encoding UTF8 -Path C:\temp\UserMailbox.csv -NoTypeInformation 

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

  

<出力結果> 

UserPrincipalName : ユーザー ID (UPN) 

EmailAddresses : SMTP (プライマリアドレス)smtp (セカンダリアドレス) 

 

 

it-bibouroku.hateblo.jp