you can prepare a PowerShell script to accomplish this task
First, prepare a .csv file with essential user information like FirstName, LastName, and EmailAddress.
Use PowerShell commands to connect to MS Graph and upload the .csv file.
Guest user accounts are created via an “Invitation.” You can suppress the default invitation email with -SendInvitationMessage:$false.
$csv = Import-Csv -Path "<Path to your CSV file>"
# we assume you have columns: FirstName,LastName,EmailAddress
Connect-MgGraph -Scopes User.Invite.All,User.ReadWrite.All,Directory.ReadWrite.All
foreach ($user in $csv) {
$userEmail = $user.EmailAddress
$userName = "$($user.FirstName) $($user.LastName)"
$existingUser = Get-MgUser -Filter "mail eq '$userEmail'"
if ($null -eq $existingUser) {
$invitation = @{
InvitedUserEmailAddress = $userEmail
InvitedUserDisplayName = $userName
InviteRedirectUrl = "https://www.xxx.com"
SendInvitationMessage = $true
}
New-MgInvitation @invitation
Write-Host "Invitation sent to $userName ($userEmail)"
} else {
Write-Host "User $userName ($userEmail) already exists."
}
}
Disconnect-MgGraph
you can check the Graph API documentation from Azure Site