Create Teams from csv

%3CLINGO-SUB%20id%3D%22lingo-sub-1243601%22%20slang%3D%22en-US%22%3ECreate%20Teams%20from%20csv%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1243601%22%20slang%3D%22en-US%22%3E%3CP%3EI%20am%20trying%20to%20create%20Teams%20from%20a%20CSV%20file%3C%2FP%3E%3CP%3EMy%20Csv%3A%3C%2FP%3E%3CTABLE%20width%3D%22641%22%3E%3CTBODY%3E%3CTR%3E%3CTD%20width%3D%22116%22%3EMail%3C%2FTD%3E%3CTD%20width%3D%2279%22%3ETeamsName%3C%2FTD%3E%3CTD%20width%3D%22181%22%3ETeamsDescription%3C%2FTD%3E%3CTD%20width%3D%2268%22%3EType%3C%2FTD%3E%3CTD%20width%3D%2268%22%3ETypeTemplate%3C%2FTD%3E%3CTD%20width%3D%22129%22%3EOwners%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EEV0123%3C%2FTD%3E%3CTD%3EEV%20-%20Prova%3C%2FTD%3E%3CTD%3EDescrizione1%3C%2FTD%3E%3CTD%3EPrivate%3C%2FTD%3E%3CTD%3EEDU_Class%3C%2FTD%3E%3CTD%3Eemail%40dom.it%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ESN0123%3C%2FTD%3E%3CTD%3ESN%20-%20Prova2%3C%2FTD%3E%3CTD%3EDescrizione2%3C%2FTD%3E%3CTD%3EPrivate%3C%2FTD%3E%3CTD%3EEDU_Class%3C%2FTD%3E%3CTD%3Eemail%40dom.it%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CP%3EThis%20is%20the%20code%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Efunction%20Create-NewTeam%0A%7B%20%20%20%0A%20%20%20param%20(%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%24ImportPath%0A%20%20%20%20%20%20%20%20%20)%20%20%20%0A%20%20Process%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20Import-Module%20MicrosoftTeams%0A%20%20%20%20%20%20%20%20%24cred%20%3D%20Get-Credential%0A%20%20%20%20%20%20%20%20%24username%20%3D%20%24cred.UserName%0A%20%20%20%20%20%20%20%20Connect-MicrosoftTeams%20-Credential%20%24cred%0A%20%20%20%20%20%20%20%20%24teams%20%3D%20Import-Csv%20-Path%20%24ImportPath%0A%20%20%20%20%20%20%20%20foreach(%24team%20in%20%24teams)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24getteam%3D%20get-team%20%7Cwhere-object%20%7B%20%24_.displayname%20-eq%20%24team.TeamsName%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20If(%24getteam%20-eq%20%24null)%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Start%20creating%20the%20team%3A%20%22%20%24team.TeamsName%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24group%20%3D%20New-Team%20-MailNickName%20%24team.Mail%20-displayname%20%24team.TeamsName%20-Description%20%24team.TeamsDescription%20-Visibility%20%24team.TeamType%20-Template%20%24team.TypeTemplate%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Adding%20team%20members...%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Add-Users%20-Users%20%24team.Members%20-GroupId%20%24group.GroupId%20-CurrentUsername%20%24username%20%20-Role%20Member%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Write-Host%20%22Adding%20team%20owners...%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23Add-Users%20-Users%20%24team.Owners%20-GroupId%20%24group.GroupId%20-CurrentUsername%20%24username%20%20-Role%20Owner%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Write-Host%20%22Completed%20creating%20the%20team%3A%20%22%20%24team.TeamsName%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24team%3D%24null%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%7D%0A%20%20Create-NewTeam%20-ImportPath%20%22C%3A%5CUsers%5CPC%5COFFICE%20365%5CGruppi_class_team.csv%22%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%20class%3D%22contentCodeblock%22%3EThis%20is%20the%20error%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3ENew-Team%20%3A%20Impossibile%20convalidare%20l'argomento%20sul%20parametro%20'MailNickName'.%20L'argomento%20%C3%A8%20null%20o%20vuoto.%20Fornire%20un%0Aargomento%20che%20non%20sia%20null%20o%20vuoto%20ed%20eseguire%20di%20nuovo%20il%20comando.%0AIn%20riga%3A19%20car%3A49%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24group%20%3D%20New-Team%20-MailNickName%20%24team.Mail%20-displayna%20...%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~%0A%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20InvalidData%3A%20(%3A)%20%5BNew-Team%5D%2C%20ParameterBindingValidationException%0A%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20ParameterArgumentValidationError%2CMicrosoft.TeamsCmdlets.PowerShell.Custom.NewTeam%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1243601%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAdministrator%20Teams%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1332842%22%20slang%3D%22en-US%22%3ERe%3A%20Create%20Teams%20from%20csv%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1332842%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F28625%22%20target%3D%22_blank%22%3E%40Luca%20VALENTINO%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHi%20there%2C%20i%20had%20found%20a%20very%20similar%20script%20in%20another%20website.%3C%2FP%3E%3CP%3Ea%20guy%20called%20Andrew%20West%20had%20said%20in%20the%20comments%26nbsp%3B%20that%26nbsp%3B%20that%20the%20alias%26nbsp%3B%20and%20the%20AccessType%20should%20be%20changed.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIts%20in%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.jijitechnologies.com%2Fblogs%2Fcreate-teams-microsoft-teams-powershell%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.jijitechnologies.com%2Fblogs%2Fcreate-teams-microsoft-teams-powershell%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EDo%20let%20us%20know%20if%20your%20script%20works%20with%20those%20changes.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1347512%22%20slang%3D%22en-US%22%3ERe%3A%20Create%20Teams%20from%20csv%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1347512%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3BI%20managed%20to%20create%20the%20class%20groups.%3CBR%20%2F%3ENow%20I%20want%20to%20insert%20the%20members%20in%20the%20various%20groups%20but%20nothing%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-applescript%22%3E%3CCODE%3E%23Connettere%20a%20Teams%0A%23Connect-MicrosoftTeams%0Afunction%20Add-Users%0A%7B%20%20%20%0A%20%20%20%20param(%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%24ImportPath%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%23%2C%24CurrentUsername%2C%24Role%0A%20%20%20%20%20%20%20%20%20%20)%20%20%20%0A%20%20%20%20Process%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20Import-Module%20MicrosoftTeams%0A%20%20%20%20%20%20%20%20%24cred%20%3D%20Get-Credential%0A%20%20%20%20%20%20%20%20%24username%20%3D%20%24cred.UserName%0A%20%20%20%20%20%20%20%20Connect-MicrosoftTeams%20-Credential%20%24cred%0A%20%20%20%20%20%20%20%20%23%24teamusers%20%3D%20Import-Csv%20-Path%20%24ImportPath%20%0A%20%20%20%20%20%20%20%20try%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24teamusers%20%3D%20%24Users%20-split%20%22%3B%22%20%0A%20%20%20%20%20%20%20%20Write-Host%20%22Start%20add%20the%20users%3A%20%22%20%24Users%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if(%24teamusers)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for(%24j%20%3D0%3B%20%24j%20-le%20(%24teamusers.count%20-%201)%20%3B%20%24j%2B%2B)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if(%24teamusers%5B%24j%5D%20-ne%20%24CurrentUsername)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Add-TeamUser%20-GroupId%20%24GroupName%20-User%20%24teamusers%5B%24j%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20Catch%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%7D%0AAdd-Users%20-ImportPath%20%22C%3A%5CPC%5COFFICE%20365%5CGruppi_membri_team.csv%22%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1436394%22%20slang%3D%22en-US%22%3ERe%3A%20Create%20Teams%20from%20csv%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1436394%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F634169%22%20target%3D%22_blank%22%3E%40EDU_ictGeek%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EI%20tried%20the%20PowerShell%20Script%20method%20to%20add%20Bulk%20Team%20users.%20It%20worked%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CA%20href%3D%22https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCWgMKCbzisA%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCWgMKCbzisA%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
New Contributor

I am trying to create Teams from a CSV file

My Csv:

MailTeamsNameTeamsDescriptionTypeTypeTemplateOwners
EV0123EV - ProvaDescrizione1PrivateEDU_Classemail@dom.it
SN0123SN - Prova2Descrizione2PrivateEDU_Classemail@dom.it

This is the code:

 

 

 

 

 

function Create-NewTeam
{   
   param (   
             $ImportPath
         )   
  Process
    {
        Import-Module MicrosoftTeams
        $cred = Get-Credential
        $username = $cred.UserName
        Connect-MicrosoftTeams -Credential $cred
        $teams = Import-Csv -Path $ImportPath
        foreach($team in $teams)
        {
            $getteam= get-team |where-object { $_.displayname -eq $team.TeamsName}
            If($getteam -eq $null)
            {
                Write-Host "Start creating the team: " $team.TeamsName
                $group = New-Team -MailNickName $team.Mail -displayname $team.TeamsName -Description $team.TeamsDescription -Visibility $team.TeamType -Template $team.TypeTemplate
                #Write-Host "Adding team members..."
                #Add-Users -Users $team.Members -GroupId $group.GroupId -CurrentUsername $username  -Role Member 
                #Write-Host "Adding team owners..."
                #Add-Users -Users $team.Owners -GroupId $group.GroupId -CurrentUsername $username  -Role Owner
                Write-Host "Completed creating the team: " $team.TeamsName
                $team=$null
            }
         }
    }
}
  Create-NewTeam -ImportPath "C:\Users\PC\OFFICE 365\Gruppi_class_team.csv"

 

 

 

 

 

This is the error:

 

 

 

 

 

New-Team : Impossibile convalidare l'argomento sul parametro 'MailNickName'. L'argomento è null o vuoto. Fornire un
argomento che non sia null o vuoto ed eseguire di nuovo il comando.
In riga:19 car:49
+                 $group = New-Team -MailNickName $team.Mail -displayna ...
+                                                 ~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [New-Team], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.TeamsCmdlets.PowerShell.Custom.NewTeam

 

 

 

 

 

 

3 Replies
Highlighted

@Luca VALENTINO 

Hi there, i had found a very similar script in another website.

a guy called Andrew West had said in the comments  that  that the alias  and the AccessType should be changed.

 

Its in: https://www.jijitechnologies.com/blogs/create-teams-microsoft-teams-powershell

 

Do let us know if your script works with those changes.

Highlighted

 I managed to create the class groups.
Now I want to insert the members in the various groups but nothing

 

#Connettere a Teams
#Connect-MicrosoftTeams
function Add-Users
{   
    param(   
             $ImportPath
             #,$CurrentUsername,$Role
          )   
    Process
    {
        Import-Module MicrosoftTeams
        $cred = Get-Credential
        $username = $cred.UserName
        Connect-MicrosoftTeams -Credential $cred
        #$teamusers = Import-Csv -Path $ImportPath 
        try{
                $teamusers = $Users -split ";" 
        Write-Host "Start add the users: " $Users
                if($teamusers)
                {
                    for($j =0; $j -le ($teamusers.count - 1) ; $j++)
                    {
                        if($teamusers[$j] -ne $CurrentUsername)
                        {
                            Add-TeamUser -GroupId $GroupName -User $teamusers[$j]
                        }
                    }
                }
            }
        Catch
            {
            }
        }
}
Add-Users -ImportPath "C:\PC\OFFICE 365\Gruppi_membri_team.csv"
Highlighted

@EDU_ictGeek 

Hi,

I tried the PowerShell Script method to add Bulk Team users. It worked :)

https://www.youtube.com/watch?v=CWgMKCbzisA