How to add bulk users from CSV file to MS Teams using PowerShell

How to add bulk users from CSV file to MS Teams using PowerShell

Hi everyone !! Today we will see How to add bulk users from CSV file to MS Teams using PowerShell. We will use PowerShell script to add the users. I know there must be other ways also to do this but as I am big fan of PowerShell scripting. Hence I have done it using scripting.

Connecting MS teams via PowerShell

  1. Install Microsoft teams module for MS Teams.
  2. Launch powershell with admin rights.
  3. Run Install-Module -Name MicrosoftTeams
  4. Refer this link for package information
  5. Type “A” to install all the features.

In my previous blog I have described How to install and connect with Power Platform ? This also a bit similar to this, you can refer earlier blog for an idea.

Connect to MS Teams

Run command “Connect-MicrosoftTeams” and enter the credentials.

Login Screen
Figure 1

Once you provide the credentials, you will able to see below screen.

Powershell Screen
Figure 2.

Prepare your CSV file

After connecting to MS team, now we will prepare our csv file. Refer below screen shot to make a csv file. Save the csv file as Adduser. You can save this file whatever name you like.

CSV sample
Figure 3

PowerShell Script to create Team and User.

PS script
Figure 4.

##This script will be used to create a Team and add bulk user from csv file to the newly created team.
##Before running this script use Connect-MicrosoftTeams to connect your MS Teams.
##Version 1.0 Date 24-2-2020
##Created By Rakesh Pandey
$date = Get-Date -Format M
$logfile = “E:\Powershell_Output_Script\$date-useraddlog.txt”
$startdt = [System.DateTime]::Now
Write-Output “Start Time: $startdt rn” | Out-File $logfile -Append
Write-Output “**” | Out-File $logfile -Append
$inputcsvfile = Import-Csv (Read-Host “Enter CSV Location”)
$teamName = Read-Host “Please enter Team Name”
$teamDescription = Read-Host “Please enter Team Description”
##Create Team
New-Team -DisplayName $teamName -Description $teamDescription
$grp = Get-Team -DisplayName $teamName
$grpid = $grp.GroupId
Write-Output “Created Team: $teamName groupid: ” $grpid | Out-File $logfile -Append
##Add user from csv file
foreach($line in $inputcsvfile)
Add-TeamUser -GroupId $grpid -User $line.EmailAddres -Role $line.Role -ErrorAction SilentlyContinue
Write-Output “Added user: “$line.EmailAddres” Role: “$line.Role | Out-File $logfile -Append
Write-Output “**” | Out-File $logfile -Append
$enddt = [System.DateTime]::Now
Write-Output “End Time: $enddt rn” | Out-File $logfile -Append

This script requires below information from user.
1) CSV file name and location
2) Team Name
3) Team Description
After providing these details you will able to see the new team under teams and user already added into it.

Test Team Screen Shot
Figure 5.

Please share and subscribe this article in case you like it. Drop us an email to for an MS teams related issues or training.

Sharing is Caring

2 thoughts on “How to add bulk users from CSV file to MS Teams using PowerShell”

  1. Thanks for the Tutorial!
    This would be even better if there is a way to define the SMTP email address when the Teams is created. Because as currently, a randomly generated email is assigned to the group.

  2. Rakesh Pandey

    Hi John,
    Thanks for visiting our site and suggestion. We can provide a user friendly Mail Nick name using -MailNickName parameter.
    The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant.
    So the updated code will be like below.
    ##Create Team
    New-Team -DisplayName $teamName -Description $teamDescription -MailNickname “userfriendlynamewithoutspace” .
    Please try at your end and let us know whether its working or not.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top