Microsoft365(office365) へのゲストユーザ登録は自社ユーザが勝手に追加などをしないように管理することが必要です。管理者のみがゲストユーザを作成(招待)することが望ましいです。
そのゲストユーザ作成は、通常はブラウザから管理ツールを使って行います。ゲストユーザが多い場合は多くのユーザアカウントで同じ作業の繰り返しとなり、手動で行うとなると大変な作業です。
ここでは、Azure ADのPowerShellでcsvファイルを使いユーザの一括登録や設定を行うことができます。
あわせて、GUIでの一括作成も参照ください。
目次
ゲストユーザ作成の流れ
csvファイルを使ってMicrosoft365にゲストユーザを一括登録(招待)する流れは以下になります。
①csvファイル形式でユーザ情報を作成
②Microsoft365へ接続
③powershellを実行しゲストユーザへ招待メール送信
④招待されたゲストユーザが承認するとユーザ登録される
csvファイルの作成
ここでは以下の情報をもとに招待メールを送るゲストユーザを作成します。
・DisplayName(表示名)
・EmailAddress(メールアドレス)
これをもとにcsv形式で保存します。
DisplayName,EmailAddress 鈴木,一郎,ichisuz@yahoo.co.jp 田中,花子,tanhana@google.com
注意点は、文字化け防止のためcsvファイルを保存する際に文字コードをUTF-8 (BOM付き)に指定することです。
AzureADへの接続
AzureADPreview モジュールをインストール
ゲストユーザの作成(招待)には ”AzureADPreview モジュールのインストール” が必要となります。インストール方法はこちらを参照ください。
AzureADに接続
AzureADに接続します。コマンドは「Connect-AzureAD」です。
PS> Connect-AzureAD
ポップアップ画面に管理者アカウントとパスワードを使用してサイン インします。
ゲストユーザに招待メールを送信する
作成したcsvファイルをもとにゲストユーザに招待メールを送信します。
ここでは作成したcvsファイル名は users_add.csv とします。
PS>#招待メール送信 PS> Import-Csv -Path ".\users_add.csv" | ForEach-Object {New-AzureADMSInvitation ` -InvitedUserDisplayName $_.DisplayName ` -InvitedUserEmailAddress $_.EmailAddress ` -InviteRedirectURL https://myapps.microsoft.com ` -SendInvitationMessage $true ` } #以下のような出力がユーザ数だけ出ます Id : aaaaa-bbbb-cccc InvitedUserDisplayName : 鈴木 一郎 InvitedUserEmailAddress : ichisuz@yahoo.co.jp SendInvitationMessage : True InviteRedeemUrl : https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com InviteRedirectUrl : https://myapps.microsoft.com/ InvitedUser : class User { Id: aaaaa-bbbb-cccc OdataType: } InvitedUserMessageInfo : class InvitedUserMessageInfo { CcRecipients: System.Collections.Generic.List`1[Microsoft.Open.MSGraph.Model.Recipient] CustomizedMessageBody: MessageLanguage: } InvitedUserType : Guest Status : PendingAcceptance ResetRedemption : False
ゲストユーザの確認
招待されたゲストユーザーが AzureAD に追加されたことを確認するにはコマンド「Get-AzureADUser -Filter “UserType eq ‘Guest'”」を実行します。
Get-AzureADUser -Filter "UserType eq 'Guest'"
出力をチェックして招待したゲストユーザーが表示されていることを確認します。ユーザは「emailaddress#EXT#@domain」 形式のユーザー プリンシパル名 (UPN) になっています。 たとえば、sanda_fabrikam.com#EXT#@contoso.onmicrosoft.com では、contoso.onmicrosoft.com が招待状を送信した組織になります。
ゲストユーザの削除
ゲストユーザーをAzureAD から削除するにはコマンド「Remove-AzureADUser -ObjectId <id>」を実行します。
Remove-AzureADUser -ObjectId "<id>"
参考
クイック スタート:PowerShell を使用してゲスト ユーザーを追加する
<https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/b2b-quickstart-invite-powershell>
チュートリアル:PowerShell を使用して Azure AD B2B コラボレーション ユーザーを一括で招待する
<https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/bulk-invite-powershell>