Import-Module MicrosoftTeams Connect-MicrosoftTeams function MakeDisplayName ($ccsc, $ccsn, $title, $cod, $lettera) { $dn = "$cod - $title [$ccsc]" if ($lettera.Trim() -ne '') { $dn = "$cod - $title (Corso $lettera) [$ccsc]" } $dn } function MakeDescription ($ccsc, $ccsn, $title, $cod, $lettera) { $cn = "Lezioni on line per l'insegnamento $title ($cod - CDS: $ccsn [$ccsc])" if ($lettera.Trim() -ne '') { $cn = "Lezioni on line per l'insegnamento $title ($cod - Corso $lettera del CDS: $ccsn [$ccsc])" } $cn } function CreateCorso ($ccsc, $ccsn, $title, $cod, $lettera, $cred) { $dn = MakeDisplayName -ccsc $ccsc -ccsn $ccsn -title $title -cod $cod -lettera $lettera $desc = MakeDescription -ccsc $ccsc -ccsn $ccsn -title $title -cod $cod -lettera $lettera $team = New-Team ` -DisplayName "$dn" ` -Owner "$cred" ` -Description "$desc" ` -Visibility Public ` -AllowGiphy $false ` -AllowStickersAndMemes $false ` -AllowCustomMemes $false ` -AllowGuestCreateUpdateChannels $false ` -AllowGuestDeleteChannels $false ` -AllowCreateUpdateChannels $false ` -AllowDeleteChannels $false ` -AllowAddRemoveApps $false ` -AllowCreateUpdateRemoveTabs $false ` -AllowCreateUpdateRemoveConnectors $false ` -AllowUserEditMessages $false ` -AllowUserDeleteMessages $false ` -AllowOwnerDeleteMessages $false ` -AllowTeamMentions $false ` -AllowChannelMentions $false $channels = Get-TeamChannel -GroupId $team.GroupId $baseurl = "https://teams.microsoft.com/l/team/" $url = $baseurl + ([System.Web.HTTPUtility]::UrlEncode($channels[0].Id)) + "/conversations?groupId=" + $team.GroupId + "&tenantId=c7456b31-a220-47f5-be52-473828670aa1" $url } #$u = CreateCorso -ccs 'INF-L' -cod '532AA' -title 'Un corso' -cred 'olivia.oil@studenti.unipi.it' -lettera '' $data = Import-Csv C:\users\n010223\Desktop\corsimissing.csv -Delimiter ';' $data.Count #$d = ($data | Where { $_.titolare_codice -eq 'a010223' })[0] $num = 0 foreach ($d in $data) { $num++ Write-Host "[$num] Processing $d.insegnamento_codice" $tit = $d.titolare_codice + "@unipi.it" $u = CreateCorso -ccsc $d.cds_codice -ccsn $d.cds_descrizione -title $d.insegnamento_descrizione -cod $d.insegnamento_codice -lettera $d.lettera -cred $tit Write-Host "Created team <" (MakeDisplayName -ccsc $d.cds_codice -ccsn $d.cds_descrizione -title $d.insegnamento_descrizione -cod $d.insegnamento_codice -lettera $d.lettera) "> login URL: $u" Add-Content C:\users\n010223\Desktop\out.txt ("Created team <" + (MakeDisplayName -ccsc $d.cds_codice -ccsn $d.cds_descrizione -title $d.insegnamento_descrizione -cod $d.insegnamento_codice -lettera $d.lettera) + "> login URL: $u") $d.linkTeams = $u } $data | Export-Csv -Delimiter ';' -Path "C:\users\n010223\Desktop\corsiout.csv"