Microsoft365 #5PowerShellを使ってユーザー名一括変更方法

Microsoft365 #5PowerShellを使ってユーザー名一括変更方法

文系ICT担当

手順1 ユーザーリストを出力
手順2 Excelなどでユーザーリストを編集
手順3 編集後のユーザーリストをインポートして適応

手順1 ユーザーリストを出力


1. 以下のコマンドレットを実行し、ユーザー名、姓、名、表示名を出力します。

ユーザー名=DisplayName
姓=Lastname
名=Firstname
アカウント名=UserPrincipalName ※これは変更しない。

[コマンドレット]
Get-MsolUser -All | Select UserPrincipalName,Firstname,LastName,DisplayName | Export-Csv <出力する CSV ファイル名を含むファイル出力先のパス> -Encoding UTF8 

[実行例]
Get-MsolUser -All | Select UserPrincipalName,Firstname,LastName,DisplayName | Export-Csv \temp\UserList.csv -Encoding UTF8 
※ 実行例は C ドライブ直下の "temp" フォルダ内の、"UserList.csv" というファイルをインポートする場合の例。


手順2 Excelなどでユーザーリストを編集

出力したCSVファイルの変更したい内容に編集します。※ 変更をしないユーザーは、 CSV ファイルから削除してください。ここでミスが起きます、注意してください。


手順3 編集後のユーザーリストをインポートして適応


1. 以下のコマンドレットを実行し、姓と表示名を一括変更します

[コマンドレット]
Import-Csv <ファイル名を含む保存先のパス> | ForEach-Object {Set-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName –LastName $_.LastName -DisplayName $_.DisplayName}

[実行例]
Import-Csv C:\temp\UserList.csv | ForEach-Object {Set-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName –LastName $_.LastName -DisplayName $_.DisplayName}
※ 実行例は C ドライブ直下の "temp" フォルダ内の、"UserList.csv" というファイルをインポートする場合の例。


<関連情報>
Title : PowerShell Microsoft 365ユーザー アカウントを表示する
URL : https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/view-user-accounts-with-microsoft-365-powershell

Title : PowerShell Microsoft 365ユーザー アカウントのプロパティを構成する
URL : https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/configure-user-account-properties-with-microsoft-365-powershell


10分で1000人ぐらい変更できます。必ずテストしてから実行をお願いします。

最近TeamsもPowershellでいじり始めましたが、チャネルへのメンバーの追加は最新版のモジュールでしか実行できないのでご注意ください。そして、チャネルへの追加は恐ろしく時間がかかります。


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
文系ICT担当
とある県の公立高校でICT関係の仕事をしているド文系の教員です。 コーディングも未経験、ネットワークの知識もほとんどない人間がとりあえずBYODとGIGAスクール構想の実現に向けて奮闘した記録です。