Why such script ?
My customer was a school, each year they need to recreate the Teams classroom, to reset the content and canal
The solution was to remove every Teams except the permanent one (workgroup Teams)
Below is the PowerShell Script. I use an xml file to connect easily to the Microsoft 365, avoiding re entering login / password
#By Jeff ANGAMA
#02.09.2020
#************GOAL************#
#This script remove every TEAMS except the one specified in variable $keepThoseTeams
#Write the list of TEAMS without ACCENT !!!
#************PRE REQUISITE - Run those commands to save your creds************#
#$pathToCred = "C:\credTenant.xml"
# $credential = Get-Credential
# $credential | Export-CliXml -Path $pathToCred
#************CONFIG************#
$keepThoseTeams = (
'IT Team',
'Support Informatique',
'Training',
'Administration',
'College',
'Coordinateurs lycee',
'Documents de suivi lycee',
'Budget',
'Demande de creation de classe'
)
#LOGS
$currentFolder = Get-Location
$timeStamp = $(((get-date).ToUniversalTime()).ToString("yyyyMMddThhmmssZ"))
$logFileName = "$currentFolder\logs\logDeleteTeams_" + $timeStamp + ".txt"
Start-Transcript -path $logFileName -append
#Connect
$pathToCred = "C:\credTenant.xml"
$credential = Import-CliXml -Path $pathToCred
Connect-MicrosoftTeams -Credential $credential
#remove accent from text, to avoid issue with contains or eq function containing accents
function get-sanitizedUTF8Input{
Param(
[String]$inputString
)
#replace diacritics
$sb = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes($inputString))
#remove spaces and anything the above function may have missed
return $sb
}
Get-Team | ForEach-Object {
$valueToCheck = get-sanitizedUTF8Input -inputString $_.DisplayName
if($keepThoseTeams -contains $valueToCheck){
Write-Host -ForeGroundColor Green "Do not delete this Team " $_.DisplayName $_.GroupId
}else {
Write-Host "Deleting Team " $_.DisplayName $_.GroupId
#Remove-Team -GroupId $_.GroupId
}
}
Stop-Transcript
Write-Host -ForeGroundColor Green "END OF SCRIPT"
- Advertisement -