Back to script library
Entra / Microsoft 365 · Teams

Add Teams to group expiration policy

Adds Microsoft Teams whose backing groups are not yet covered by the Microsoft 365 group expiration policy.

Connect & set up

Run these once per session. All scopes are read-only unless the script makes changes.

Connect-MicrosoftTeams
Connect-ExchangeOnline

Run it

The main script. Copy it, or download the .ps1 and run it from your console.

$PolicyId = (Get-AzureADMSGroupLifecyclePolicy).Id
$TeamsCount = 0
Write-Host "Fetching list of Teams in the tenant..."
$Teams = Get-Team
ForEach ($Team in $Teams) {
$CheckPolicy = (Get-UnifiedGroup -Identity $Team.GroupId).CustomAttribute3
If ($CheckPolicy -eq $PolicyId) {
Write-Host "Team" $Team.DisplayName "is already covered by the expiration policy" }
Else {
Write-Host "Adding team" $Team.DisplayName "to group expiration policy"
Add-AzureADMSLifecyclePolicyGroup -GroupId $Team.GroupId -Id $PolicyId -ErrorAction SilentlyContinue
Set-UnifiedGroup -Identity $Team.GroupId -CustomAttribute3 $PolicyId
$TeamsCount++ }}
Write-Host "All done." $TeamsCount "teams added to policy"
Attribution