From b150ee48b049b42edf97cf6bb09f326092834a2e Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 14 Aug 2024 22:55:43 +0200 Subject: [PATCH 01/14] Add new sample to find obsolete m365 groups in the tenant. Closes #2475 --- .../assets/sample.json | 59 ++++ .../entra/find-obsolete-m365-groups/index.mdx | 288 ++++++++++++++++++ 2 files changed, 347 insertions(+) create mode 100644 docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json create mode 100644 docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json new file mode 100644 index 00000000000..4155599794d --- /dev/null +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json @@ -0,0 +1,59 @@ +[ + { + "name": "pnp-find-obsolete-m365-groups", + "source": "pnp", + "title": "Finding Obsolete Microsoft 365 Groups with PowerShell", + "url": "https://pnp.github.io/cli-microsoft365/sample-scripts/entra/find-obsolete-m365-groups", + "creationDateTime": "2024-08-14", + "updateDateTime": "2024-08-14", + "shortDescription": "Understand to what extent the Microsoft 365 groups in your tenant are being used or even not.", + "longDescription": [ + "Like any resource within your Microsoft 365 tenant, M365 Groups can become unused over time. This routine uses PowerShell with `m365 cli` commands to create a report of all M365 groups that are possibly obsolete." + ], + "products": ["SharePoint", "M365 Groups", "Teams", "Exchange Online"], + "categories": [], + "tags": [ + "provisioning", + "libraries", + "group mailbox", + "governance", + "m365 groups", + "teams", + "usage", + "insights" + ], + "metadata": [ + { + "key": "CLI-FOR-MICROSOFT365", + "value": "v8.0.0" + } + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://raw.githubusercontent.com/pnp/cli-microsoft365/main/docs/docs/sample-scripts/find-obsolete-m365-groups/assets/preview.png", + "alt": "preview image for the sample" + } + ], + "authors": [ + { + "gitHubAccount": "tmaestrini", + "pictureUrl": "https://avatars.githubusercontent.com/u/69770609?v=4", + "name": "Tobias Maestrini" + } + ], + "references": [ + { + "name": "Want to learn more about CLI for Microsoft 365 and the commands", + "description": "Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.", + "url": "https://aka.ms/cli-m365" + }, + { + "name": "Original article by Tony Redmond", + "description": "Check out the original article on which this script is based.", + "url": "https://petri.com/identifying-obsolete-office-365-groups-powershell" + } + ] + } +] diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx new file mode 100644 index 00000000000..f356e147119 --- /dev/null +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -0,0 +1,288 @@ +--- +tags: + - provisioning + - libraries + - group mailbox + - governance + - teams + - m365 groups +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Finding Obsolete Microsoft 365 Groups with PowerShell + +Author: [Tobias Maestrini](https://github.com/tmaestrini) + +This script is based on the [original article](https://petri.com/identifying-obsolete-office-365-groups-powershell) written by [Tony Redmond](https://twitter.com/12Knocksinna). + +Like any resource within your Microsoft 365 tenant, M365 Groups can become unused over time. + +This routine uses PowerShell with `m365 cli` commands +- to gather insights about SharePoint file activity within the related SharePoint site, +- to do a check against conversation items in the group mailbox, +- to denote the amount of active people (group owners, members and guests) in the group. + +These metrics can help us understand the extent to which the resource is being used from a governance perspective ā€“ or even not. +Use this script to create a report of all M365 groups that are possibly obsolete. + + + + + ```powershell + $ErrorActionPreference = "Stop" + + class GroupInfo { + [PSCustomObject] $Reference + [PSCustomObject] $Membership + [PSCustomObject] $SharePointStatus + [PSCustomObject] $MailboxStatus + [PSCustomObject] $ChatStatus + [string] $TestStatus + [string[]] $Reasons + } + + function Start-Routine { + # START ROUTINE + [CmdletBinding()] + param ( + [Parameter(Mandatory = $false)] [Switch] $KeepConnectionsAlive, + [Parameter(Mandatory = $false)] [Switch] $KeepOutputPath + ) + + try { + Initialize-Params + if ($KeepOutputPath.IsPresent) { Initialize-ExportPath -KeepOutputPath } + else { Initialize-ExportPath } + Get-AllM365Groups + Start-GroupInsightsTests + + Write-Host "`nāœ”ļøŽ Routine terminated" -ForegroundColor Green + if (!$KeepConnectionsAlive.IsPresent) { + m365 logout + } + } + catch { + Write-Error $_.Exception.Message + } + } + + function Initialize-Params { + Write-Host "šŸš€ Generating report of obsolete M365 groups within your organization" + + # define globals + $Global:Path + $Script:ReportPath = $null + $Script:Groups = @() + $Global:ObsoleteGroups = [System.Collections.Generic.Dictionary[string, GroupInfo]]::new() + + Write-Output "Connecting to M365 tenant: please follow the instructions." + Write-output "IMPORTANT: You'll need to have global admin permissions!`n" + if ((m365 status --output text) -eq "Logged out") { + m365 login + } + } + + function Initialize-ExportPath { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $false)] [Switch] $KeepOutputPath + ) + + if (!$KeepOutputPath.IsPresent -or $null -eq $Global:Path) { + $Script:Path = Read-Host "Set the path to the folder where you want to export the report data as csv file" + } + + $TestPath = Test-Path -Path $Script:Path + $tStamp = (Get-Date).ToString("yyyyMMddHHmmss") + if ($TestPath -ne $true) { + New-Item -ItemType directory -Path $Script:Path | Out-Null + Write-Host "Will create file in $($Script:Path): M365GroupsReport-{current date}.csv" -ForegroundColor Yellow + } + else { + Write-Host "Following report file will be created in $($Script:Path): 'M365GroupsReport-$($tStamp).csv'." + Write-Host "`nAll data will be exported to $($Script:Path): M365GroupsReport-$($tStamp).csv." -ForegroundColor Blue + Write-Host "Do not edit this file during the scan." -ForegroundColor Blue + } + $Script:ReportPath = "$($Script:Path)/M365GroupsReport-$($tStamp).csv" + } + + function Get-AllM365Groups { + $groups = m365 entra m365group list --includeSiteUrl | ConvertFrom-Json + $Script:Groups = $groups | Where-Object { $null -ne $_.siteUrl } + } + + function Start-GroupInsightsTests { + Write-Host "Checking your $($Script:Groups.Count) groups for activity" + + $Script:Groups | ForEach-Object { + $groupInfo = [GroupInfo]::new() + $groupInfo.Reference = $_ + $groupInfo.Membership = @{Owners = 0; Members = 0; Guests = 0 } + $groupInfo.TestStatus = "šŸŸ¢ OK" + + Write-Host "ā˜€ļøŽ $($groupInfo.Reference.displayName)" + + # Tests + Test-GroupMembership -Group $groupInfo + Test-SharePointActivity -Group $groupInfo + Test-ConversationActivity -Group $groupInfo + + # Report + New-Report -Group $groupInfo + } + + #Give feedback to user + Write-Host "`n-------------------------------------------------------------------" + Write-Host "`SUMMARY" -ForegroundColor DarkGreen + Write-Host "`-------------------------------------------------------------------" + Write-Host "`nšŸ‘‰ Found $($Global:ObsoleteGroups.Count) group$($Global:ObsoleteGroups.Count -gt 1 ? 's' : '') with possibly low activity." + Write-Host "` Please review the report: " -NoNewline + Write-Host "$($Script:ReportPath)" -ForegroundColor DarkBlue + } + + function Test-GroupMembership { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [GroupInfo] $Group + ) + + $users = m365 entra m365group user list --groupId $Group.Reference.id | ConvertFrom-Json + $owners = $users | Where-Object { $_.userType -eq "Owner" } + $members = $users | Where-Object { $_.userType -eq "Member" } + $guests = $users | Where-Object { $_.userType -eq "Guest" } + + $Group.Membership = [ordered] @{ + Owners = $owners + Members = $members + Guests = $guests + } + + if ($owners.Count -eq 1 -and ($members.Count + $guests.Count) -eq 0) { + Write-Host " ā†’ potentially obsolete (abandoned group: only 1 owner left)" -ForegroundColor Yellow + $reason = "Low user count" + + $Group.Membership.Status = "Abandoned ($reason)" + $Group.TestStatus = "šŸŸ” Warning" + $Group.Reasons += $reason + + try { + $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + } + catch {} + } + } + + function Test-SharePointActivity { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [GroupInfo] $Group + ) + + function Get-ParsedDate { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [String] $JavascriptDateString + ) + + $dateParts = [regex]::Matches($JavascriptDateString, '\d+') | ForEach-Object { $_.Value } + + # Convert the parts to integers + $year = [int]$dateParts[0] + $month = [int]$dateParts[1] + 1 + $day = [int]$dateParts[2] + $hour = [int]$dateParts[3] + $minute = [int]$dateParts[4] + $second = [int]$dateParts[5] + # $millisecond = [int]$dateParts[6] + + # return a DateTime object + $dateObject = New-Object -TypeName DateTime -ArgumentList $year, $month, $day, $hour, $minute, $second + $dateObject + } + + $WarningDate = (Get-Date).AddDays(-90) + + # Not possible to retrieve property 'LastContentModifiedDate' via command 'm365 spo site get --url $group.siteUrl', so we need to use filtering: + # $spoSite = m365 spo site get --url $group.siteUrl | ConvertFrom-Json + $spoSite = m365 spo site list --filter "Url -eq '$($Group.Reference.siteUrl)'" | ConvertFrom-Json + $spoSite.LastContentModifiedDate = Get-ParsedDate -JavascriptDateString $spoSite.LastContentModifiedDate + if ($spoSite.LastContentModifiedDate -lt $WarningDate) { + Write-Host " ā†’ potentially obsolete (SPO last content modified: $($spoSite.LastContentModifiedDate))" -ForegroundColor Yellow + $reason = "Low SharePoint activity ($($spoSite.LastContentModifiedDate))" + + $Group.SharePointStatus = @{ + Reason = $reason + } + $Group.TestStatus = "šŸŸ” Warning" + $Group.Reasons += $reason + + try { + $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + } + catch {} + } + } + + function Test-ConversationActivity { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [GroupInfo] $Group + ) + + $WarningDate = (Get-Date).AddDays(-365) + + $a = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Where-Object { + [datetime]$_.lastDeliveredDateTime -lt $WarningDate + } + if (!$a -or $a.Length -eq 0) { return } + + Write-Host " ā†’ potentially obsolete ($($a.Length) conversation item$($a.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow + $reason = "$($a.Length) conversation item$($a.Length -gt 1 ? 's' : '') created more than 1 year ago)" + + $Group.MailboxStatus = @{ + OutdatedConversations = $a | Sort-Object -Property lastDeliveredDateTime + Reason = $reason + } + $Group.TestStatus = "šŸŸ” Warning" + $Group.Reasons += $reason + + try { + $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + } + catch { } + } + + function New-Report { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [GroupInfo] $Group + ) + + $exportObject = [ordered] @{ + "Group Name" = $Group.Reference.displayName + "Managed by" = $Group.Membership.Owners ? $Group.Membership.Owners.displayName -join ", " : "n/a" + Owners = $Group.Membership.Owners.Count + Members = $Group.Membership.Members.Count + Guests = $Group.Membership.Guests.Count + "Group Status" = $Group.Membership.Status ?? "Normal" + Description = $Group.Reference.description + "Conversation Status" = $Group.MailboxStatus.Reason ?? "Normal" + "Number of Conversations" = $Group.MailboxStatus.OutdatedConversations ? $Group.MailboxStatus.OutdatedConversations.Length : "n/a" + "Last Conversation" = $Group.MailboxStatus.OutdatedConversations ? $Group.MailboxStatus.OutdatedConversations[0].lastDeliveredDateTime : "" + "Team enabled" = $Group.Reference.resourceProvisioningOptions -contains 'Team' ? "True" : "False" + "SPO Status" = $Group.SharePointStatus.Reason ?? "Normal" + "SPO Activity" = $Group.SharePointStatus ? "Low / No document library usage" : "Document library in use" + "Number of warnings" = $Group.Reasons.Count + Status = $Group.TestStatus + } + + $exportObject | Export-Csv -Path $Script:ReportPath -Append -NoTypeInformation + } + + # START the report generation + Start-Routine #-KeepConnectionsAlive -KeepOutputPath + ``` + + From c3c96bb93585bc9d6f92757d299aaeb2172f45d6 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 14 Aug 2024 23:20:12 +0200 Subject: [PATCH 02/14] add preview image to assets --- .../assets/preview.png | Bin 0 -> 68490 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/preview.png diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/preview.png b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d85816f034a180502b0757457c54bfe37c6bedca GIT binary patch literal 68490 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 literal 0 HcmV?d00001 From 9643937ac3e5401229c3713126c6970af127f02d Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 28 Aug 2024 00:41:39 +0200 Subject: [PATCH 03/14] fix typos and change several minor implementations due to readabiltiy --- .../entra/find-obsolete-m365-groups/index.mdx | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index f356e147119..0b7da414e1f 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -11,7 +11,7 @@ tags: import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Finding Obsolete Microsoft 365 Groups with PowerShell +# Finding obsolete Microsoft 365 groups with PowerShell Author: [Tobias Maestrini](https://github.com/tmaestrini) @@ -19,10 +19,10 @@ This script is based on the [original article](https://petri.com/identifying-obs Like any resource within your Microsoft 365 tenant, M365 Groups can become unused over time. -This routine uses PowerShell with `m365 cli` commands -- to gather insights about SharePoint file activity within the related SharePoint site, -- to do a check against conversation items in the group mailbox, -- to denote the amount of active people (group owners, members and guests) in the group. +This routine uses PowerShell with CLI for Microsoft 365 +- To gather insights about SharePoint file activity within the related SharePoint site. +- To do a check against conversation items in the group mailbox. +- To denote the amount of active people (group owners, members and guests) in the group. These metrics can help us understand the extent to which the resource is being used from a governance perspective ā€“ or even not. Use this script to create a report of all M365 groups that are possibly obsolete. @@ -78,7 +78,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete $Global:ObsoleteGroups = [System.Collections.Generic.Dictionary[string, GroupInfo]]::new() Write-Output "Connecting to M365 tenant: please follow the instructions." - Write-output "IMPORTANT: You'll need to have global admin permissions!`n" + Write-output "IMPORTANT: You'll need to have at least global reader permissions!`n" if ((m365 status --output text) -eq "Logged out") { m365 login } @@ -95,7 +95,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete } $TestPath = Test-Path -Path $Script:Path - $tStamp = (Get-Date).ToString("yyyyMMddHHmmss") + $tStamp = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss") if ($TestPath -ne $true) { New-Item -ItemType directory -Path $Script:Path | Out-Null Write-Host "Will create file in $($Script:Path): M365GroupsReport-{current date}.csv" -ForegroundColor Yellow @@ -114,7 +114,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete } function Start-GroupInsightsTests { - Write-Host "Checking your $($Script:Groups.Count) groups for activity" + Write-Host "Checking $($Script:Groups.Count) groups for activity" $Script:Groups | ForEach-Object { $groupInfo = [GroupInfo]::new() @@ -148,10 +148,16 @@ Use this script to create a report of all M365 groups that are possibly obsolete [Parameter(Mandatory = $true)] [GroupInfo] $Group ) + # Original lists $users = m365 entra m365group user list --groupId $Group.Reference.id | ConvertFrom-Json - $owners = $users | Where-Object { $_.userType -eq "Owner" } - $members = $users | Where-Object { $_.userType -eq "Member" } - $guests = $users | Where-Object { $_.userType -eq "Guest" } + $owners = m365 entra m365group user list --groupId $Group.Reference.id --role Owner | ConvertFrom-Json + $members = m365 entra m365group user list --groupId $Group.Reference.id --role Member | ConvertFrom-Json + + # Consider guests as users that are not in the $members list + $guests = Compare-Object -ReferenceObject $users $members -PassThru + + # Modify the $members list to only contain users that are not in the $owners list + $members = Compare-Object $members $owners -PassThru $Group.Membership = [ordered] @{ Owners = $owners @@ -205,7 +211,6 @@ Use this script to create a report of all M365 groups that are possibly obsolete $WarningDate = (Get-Date).AddDays(-90) # Not possible to retrieve property 'LastContentModifiedDate' via command 'm365 spo site get --url $group.siteUrl', so we need to use filtering: - # $spoSite = m365 spo site get --url $group.siteUrl | ConvertFrom-Json $spoSite = m365 spo site list --filter "Url -eq '$($Group.Reference.siteUrl)'" | ConvertFrom-Json $spoSite.LastContentModifiedDate = Get-ParsedDate -JavascriptDateString $spoSite.LastContentModifiedDate if ($spoSite.LastContentModifiedDate -lt $WarningDate) { From 793b05b5942a9695473c71dbe8eeb5800cb97d56 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Mon, 9 Sep 2024 14:12:45 +0200 Subject: [PATCH 04/14] change implementation after rewiew --- .../assets/sample.json | 2 +- .../entra/find-obsolete-m365-groups/index.mdx | 69 ++++++++----------- 2 files changed, 30 insertions(+), 41 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json index 4155599794d..25ffb0489a0 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/sample.json @@ -8,7 +8,7 @@ "updateDateTime": "2024-08-14", "shortDescription": "Understand to what extent the Microsoft 365 groups in your tenant are being used or even not.", "longDescription": [ - "Like any resource within your Microsoft 365 tenant, M365 Groups can become unused over time. This routine uses PowerShell with `m365 cli` commands to create a report of all M365 groups that are possibly obsolete." + "Like any resource within your Microsoft 365 tenant, M365 Groups can become unused over time. This routine uses PowerShell with CLI for Microsoft 365 to create a report of all M365 groups that are possibly obsolete." ], "products": ["SharePoint", "M365 Groups", "Teams", "Exchange Online"], "categories": [], diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 0b7da414e1f..35d6c668973 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -56,6 +56,8 @@ Use this script to create a report of all M365 groups that are possibly obsolete if ($KeepOutputPath.IsPresent) { Initialize-ExportPath -KeepOutputPath } else { Initialize-ExportPath } Get-AllM365Groups + Get-AllGuestUsers + Get-AllTeamSites Start-GroupInsightsTests Write-Host "`nāœ”ļøŽ Routine terminated" -ForegroundColor Green @@ -75,6 +77,8 @@ Use this script to create a report of all M365 groups that are possibly obsolete $Global:Path $Script:ReportPath = $null $Script:Groups = @() + $Script:Guests = @() + $Script:TeamSites = @() $Global:ObsoleteGroups = [System.Collections.Generic.Dictionary[string, GroupInfo]]::new() Write-Output "Connecting to M365 tenant: please follow the instructions." @@ -113,6 +117,14 @@ Use this script to create a report of all M365 groups that are possibly obsolete $Script:Groups = $groups | Where-Object { $null -ne $_.siteUrl } } + function Get-AllGuestUsers { + $Script:Guests = m365 entra user list --type Guest | ConvertFrom-Json + } + + function Get-AllTeamSites { + $Script:TeamSites = m365 spo site list --type TeamSite | ConvertFrom-Json + } + function Start-GroupInsightsTests { Write-Host "Checking $($Script:Groups.Count) groups for activity" @@ -153,8 +165,8 @@ Use this script to create a report of all M365 groups that are possibly obsolete $owners = m365 entra m365group user list --groupId $Group.Reference.id --role Owner | ConvertFrom-Json $members = m365 entra m365group user list --groupId $Group.Reference.id --role Member | ConvertFrom-Json - # Consider guests as users that are not in the $members list - $guests = Compare-Object -ReferenceObject $users $members -PassThru + # Consider guests as users that also match the $Script:Guests array + $guests = $users | Where-Object { $_.id -in $Script:Guests.id } # Modify the $members list to only contain users that are not in the $owners list $members = Compare-Object $members $owners -PassThru @@ -176,7 +188,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch {} + catch { Write-Information "Group was already added to the list of potentially obsolete groups" } } } @@ -185,37 +197,14 @@ Use this script to create a report of all M365 groups that are possibly obsolete param ( [Parameter(Mandatory = $true)] [GroupInfo] $Group ) - - function Get-ParsedDate { - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] [String] $JavascriptDateString - ) - - $dateParts = [regex]::Matches($JavascriptDateString, '\d+') | ForEach-Object { $_.Value } - - # Convert the parts to integers - $year = [int]$dateParts[0] - $month = [int]$dateParts[1] + 1 - $day = [int]$dateParts[2] - $hour = [int]$dateParts[3] - $minute = [int]$dateParts[4] - $second = [int]$dateParts[5] - # $millisecond = [int]$dateParts[6] - - # return a DateTime object - $dateObject = New-Object -TypeName DateTime -ArgumentList $year, $month, $day, $hour, $minute, $second - $dateObject - } $WarningDate = (Get-Date).AddDays(-90) - # Not possible to retrieve property 'LastContentModifiedDate' via command 'm365 spo site get --url $group.siteUrl', so we need to use filtering: - $spoSite = m365 spo site list --filter "Url -eq '$($Group.Reference.siteUrl)'" | ConvertFrom-Json - $spoSite.LastContentModifiedDate = Get-ParsedDate -JavascriptDateString $spoSite.LastContentModifiedDate - if ($spoSite.LastContentModifiedDate -lt $WarningDate) { - Write-Host " ā†’ potentially obsolete (SPO last content modified: $($spoSite.LastContentModifiedDate))" -ForegroundColor Yellow - $reason = "Low SharePoint activity ($($spoSite.LastContentModifiedDate))" + $spoSite = $Script:TeamSites | Where-Object { $_.GroupId -eq "/Guid($($Group.Reference.id))/" } + $spoWeb = m365 spo web get --url $spoSite.Url | ConvertFrom-Json + if ($spoWeb.LastItemUserModifiedDate -lt $WarningDate) { + Write-Host " ā†’ potentially obsolete (SPO last content modified: $($spoWeb.LastItemUserModifiedDate))" -ForegroundColor Yellow + $reason = "Low SharePoint activity ($($spoWeb.LastItemUserModifiedDate))" $Group.SharePointStatus = @{ Reason = $reason @@ -226,7 +215,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch {} + catch { Write-Information "Group was already added to the list of potentially obsolete groups" } } } @@ -238,16 +227,16 @@ Use this script to create a report of all M365 groups that are possibly obsolete $WarningDate = (Get-Date).AddDays(-365) - $a = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Where-Object { + $conversations = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Where-Object { [datetime]$_.lastDeliveredDateTime -lt $WarningDate } - if (!$a -or $a.Length -eq 0) { return } + if (!$conversations -or $conversations.Length -eq 0) { return } - Write-Host " ā†’ potentially obsolete ($($a.Length) conversation item$($a.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow - $reason = "$($a.Length) conversation item$($a.Length -gt 1 ? 's' : '') created more than 1 year ago)" + Write-Host " ā†’ potentially obsolete ($($conversations.Length) conversation item$($conversations.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow + $reason = "$($conversations.Length) conversation item$($conversations.Length -gt 1 ? 's' : '') created more than 1 year ago" $Group.MailboxStatus = @{ - OutdatedConversations = $a | Sort-Object -Property lastDeliveredDateTime + OutdatedConversations = $conversations | Sort-Object -Property lastDeliveredDateTime Reason = $reason } $Group.TestStatus = "šŸŸ” Warning" @@ -256,7 +245,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch { } + catch { Write-Information "Group was already added to the list of potentially obsolete groups" } } function New-Report { @@ -267,15 +256,15 @@ Use this script to create a report of all M365 groups that are possibly obsolete $exportObject = [ordered] @{ "Group Name" = $Group.Reference.displayName + Description = $Group.Reference.description "Managed by" = $Group.Membership.Owners ? $Group.Membership.Owners.displayName -join ", " : "n/a" Owners = $Group.Membership.Owners.Count Members = $Group.Membership.Members.Count Guests = $Group.Membership.Guests.Count "Group Status" = $Group.Membership.Status ?? "Normal" - Description = $Group.Reference.description - "Conversation Status" = $Group.MailboxStatus.Reason ?? "Normal" "Number of Conversations" = $Group.MailboxStatus.OutdatedConversations ? $Group.MailboxStatus.OutdatedConversations.Length : "n/a" "Last Conversation" = $Group.MailboxStatus.OutdatedConversations ? $Group.MailboxStatus.OutdatedConversations[0].lastDeliveredDateTime : "" + "Conversation Status" = $Group.MailboxStatus.Reason ?? "Normal" "Team enabled" = $Group.Reference.resourceProvisioningOptions -contains 'Team' ? "True" : "False" "SPO Status" = $Group.SharePointStatus.Reason ?? "Normal" "SPO Activity" = $Group.SharePointStatus ? "Low / No document library usage" : "Document library in use" From 34bdeaa6053d77d7f2b06176aac5004bb27cf5c4 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Sun, 22 Sep 2024 22:53:57 +0200 Subject: [PATCH 05/14] change console output to make the output path more precise for the user --- .../sample-scripts/entra/find-obsolete-m365-groups/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 35d6c668973..4e307ad834b 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -102,7 +102,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete $tStamp = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss") if ($TestPath -ne $true) { New-Item -ItemType directory -Path $Script:Path | Out-Null - Write-Host "Will create file in $($Script:Path): M365GroupsReport-{current date}.csv" -ForegroundColor Yellow + Write-Host "Will create file in $($Script:Path): M365GroupsReport-$tStamp.csv" -ForegroundColor Yellow } else { Write-Host "Following report file will be created in $($Script:Path): 'M365GroupsReport-$($tStamp).csv'." From bf41310974c77a448e739d351bdad2c69982a7cb Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Sun, 22 Sep 2024 22:54:43 +0200 Subject: [PATCH 06/14] change retrieval of owners and members to increase script performance --- .../sample-scripts/entra/find-obsolete-m365-groups/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 4e307ad834b..cf76800fcb8 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -162,8 +162,8 @@ Use this script to create a report of all M365 groups that are possibly obsolete # Original lists $users = m365 entra m365group user list --groupId $Group.Reference.id | ConvertFrom-Json - $owners = m365 entra m365group user list --groupId $Group.Reference.id --role Owner | ConvertFrom-Json - $members = m365 entra m365group user list --groupId $Group.Reference.id --role Member | ConvertFrom-Json + $owners = $users | Where-Object { $_.roles -contains "Owner" } + $members = $users | Where-Object { $_.roles -contains "Member" } # Consider guests as users that also match the $Script:Guests array $guests = $users | Where-Object { $_.id -in $Script:Guests.id } From c8ca5af06806b98bd91bd2c2c5cbc83d9106f997 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 25 Sep 2024 23:35:46 +0200 Subject: [PATCH 07/14] fix error related to comparison in case that group is empty --- .../sample-scripts/entra/find-obsolete-m365-groups/index.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index cf76800fcb8..8e0bb7a5df7 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -169,7 +169,9 @@ Use this script to create a report of all M365 groups that are possibly obsolete $guests = $users | Where-Object { $_.id -in $Script:Guests.id } # Modify the $members list to only contain users that are not in the $owners list - $members = Compare-Object $members $owners -PassThru + if($null -ne $owners -and $null -ne $members) { + $members = Compare-Object $members $owners -PassThru + } $Group.Membership = [ordered] @{ Owners = $owners From 2b723ffb198860ad137ec680d18cc5b375fed145 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 25 Sep 2024 23:47:28 +0200 Subject: [PATCH 08/14] fix handling of groups with 0 or only 1 owner --- .../entra/find-obsolete-m365-groups/index.mdx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 8e0bb7a5df7..1a61afc3741 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -179,8 +179,23 @@ Use this script to create a report of all M365 groups that are possibly obsolete Guests = $guests } - if ($owners.Count -eq 1 -and ($members.Count + $guests.Count) -eq 0) { - Write-Host " ā†’ potentially obsolete (abandoned group: only 1 owner left)" -ForegroundColor Yellow + if ($owners.Count -eq 0) { + Write-Host " ā†’ potentially obsolete (abandoned group: no owner)" -ForegroundColor Yellow + $reason = "Low user count" + + $Group.Membership.Status = "Abandoned ($reason)" + $Group.TestStatus = "šŸŸ” Warning" + $Group.Reasons += $reason + + try { + $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + } + catch { Write-Information "Group was already added to the list of potentially obsolete groups" } + return + } + + if ($owners.Count -le 1 -and ($members.Count + $guests.Count) -eq 0) { + Write-Host " ā†’ potentially obsolete (abandoned group: only $($owners.Count) owner left)" -ForegroundColor Yellow $reason = "Low user count" $Group.Membership.Status = "Abandoned ($reason)" From bc31a5bfa0566c311eb01f3a7e80b2790bc725e8 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 25 Sep 2024 23:49:22 +0200 Subject: [PATCH 09/14] change logging behavior (reverted) in order to avoid overflooding the console with unnecessary output --- .../entra/find-obsolete-m365-groups/index.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 1a61afc3741..6875eb1ba25 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -190,7 +190,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch { Write-Information "Group was already added to the list of potentially obsolete groups" } + catch { } return } @@ -205,7 +205,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch { Write-Information "Group was already added to the list of potentially obsolete groups" } + catch { } } } @@ -232,7 +232,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch { Write-Information "Group was already added to the list of potentially obsolete groups" } + catch { } } } @@ -262,7 +262,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete try { $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) } - catch { Write-Information "Group was already added to the list of potentially obsolete groups" } + catch { } } function New-Report { From 0c3779d944e9f667f702df6ca3bc6671e46709c1 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Wed, 25 Sep 2024 23:56:18 +0200 Subject: [PATCH 10/14] change member retrieval by excluding guests from the members' list --- .../sample-scripts/entra/find-obsolete-m365-groups/index.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 6875eb1ba25..543b9c23923 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -163,9 +163,7 @@ Use this script to create a report of all M365 groups that are possibly obsolete # Original lists $users = m365 entra m365group user list --groupId $Group.Reference.id | ConvertFrom-Json $owners = $users | Where-Object { $_.roles -contains "Owner" } - $members = $users | Where-Object { $_.roles -contains "Member" } - - # Consider guests as users that also match the $Script:Guests array + $members = $users | Where-Object { $_.roles -contains "Member" -and $_.id -notin $Script:Guests.id } $guests = $users | Where-Object { $_.id -in $Script:Guests.id } # Modify the $members list to only contain users that are not in the $owners list From 1aadf5751baf7a61fd00127a93f221b31ff71b24 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Thu, 26 Sep 2024 01:13:46 +0200 Subject: [PATCH 11/14] change retrieval of groups and procedure to check whether the group is obsolete --- .../entra/find-obsolete-m365-groups/index.mdx | 57 +++++++++++-------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 543b9c23923..50b35f00384 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -234,35 +234,46 @@ Use this script to create a report of all M365 groups that are possibly obsolete } } - function Test-ConversationActivity { - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] [GroupInfo] $Group - ) +function Test-ConversationActivity { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [GroupInfo] $Group + ) - $WarningDate = (Get-Date).AddDays(-365) + $WarningDate = (Get-Date).AddDays(-365) - $conversations = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Where-Object { - [datetime]$_.lastDeliveredDateTime -lt $WarningDate - } - if (!$conversations -or $conversations.Length -eq 0) { return } + $conversations = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Sort-Object -Property lastDeliveredDateTime -Descending + $latestConversation = $conversations | Where-Object { + [datetime]$_.lastDeliveredDateTime -gt $WarningDate.Date + } | Select-Object -First 1 + + $Group.MailboxStatus = @{ + NumberOfConversations = $conversations.Length + LastConversation = $conversations ? $conversations[0].lastDeliveredDateTime : "n/a" + OutdatedConversations = 0 + Reason = "" + } - Write-Host " ā†’ potentially obsolete ($($conversations.Length) conversation item$($conversations.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow - $reason = "$($conversations.Length) conversation item$($conversations.Length -gt 1 ? 's' : '') created more than 1 year ago" + # Return if there are no conversations or the latest conversation is not outdated + if (!$conversations -or $latestConversation.Count -eq 1) { return } + + $outdatedConversations = $conversations | Where-Object { + [datetime]$_.lastDeliveredDateTime -lt $WarningDate + } - $Group.MailboxStatus = @{ - OutdatedConversations = $conversations | Sort-Object -Property lastDeliveredDateTime - Reason = $reason - } - $Group.TestStatus = "šŸŸ” Warning" - $Group.Reasons += $reason + Write-Host " ā†’ potentially obsolete ($($outdatedConversations.Length) conversation item$($outdatedConversations.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow + $reason = "$($outdatedConversations.Length) conversation item$($outdatedConversations.Length -gt 1 ? 's' : '') created more than 1 year ago" - try { - $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) - } - catch { } - } + $Group.MailboxStatus.OutdatedConversations = $outdatedConversations | Sort-Object -Property lastDeliveredDateTime + $Group.MailboxStatus.Reason = $reason + $Group.TestStatus = "šŸŸ” Warning" + $Group.Reasons += $reason + try { + $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + } + catch { Write-Information "Group was already added to the list of potentially obsolete groups" } +} function New-Report { [CmdletBinding()] param ( From e43a560d1208849fca38445ae3606620e8f0fcfb Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Thu, 26 Sep 2024 01:14:29 +0200 Subject: [PATCH 12/14] add additional information to exported object (group conversation infos) --- .../sample-scripts/entra/find-obsolete-m365-groups/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index 50b35f00384..a2aa6a9d214 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -288,8 +288,8 @@ function Test-ConversationActivity { Members = $Group.Membership.Members.Count Guests = $Group.Membership.Guests.Count "Group Status" = $Group.Membership.Status ?? "Normal" - "Number of Conversations" = $Group.MailboxStatus.OutdatedConversations ? $Group.MailboxStatus.OutdatedConversations.Length : "n/a" - "Last Conversation" = $Group.MailboxStatus.OutdatedConversations ? $Group.MailboxStatus.OutdatedConversations[0].lastDeliveredDateTime : "" + "Number of Conversations" = $Group.MailboxStatus.NumberOfConversations ? $Group.MailboxStatus.NumberOfConversations : "n/a" + "Last Conversation" = $Group.MailboxStatus.LastConversation "Conversation Status" = $Group.MailboxStatus.Reason ?? "Normal" "Team enabled" = $Group.Reference.resourceProvisioningOptions -contains 'Team' ? "True" : "False" "SPO Status" = $Group.SharePointStatus.Reason ?? "Normal" From 310bd82e9aad882e35b6cf58b93ec8538bffb3e3 Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Thu, 26 Sep 2024 01:21:05 +0200 Subject: [PATCH 13/14] change sample preview image --- .../assets/preview.png | Bin 68490 -> 68777 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/preview.png b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/assets/preview.png index d85816f034a180502b0757457c54bfe37c6bedca..9098eba2c65024baa09ef5d18bebbbece386de96 100644 GIT binary patch literal 68777 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 From 692a8adb51f4f694f39a44848c3dc01c410031ef Mon Sep 17 00:00:00 2001 From: Tobias Maestrini Date: Thu, 26 Sep 2024 01:22:04 +0200 Subject: [PATCH 14/14] fix formatting --- .../entra/find-obsolete-m365-groups/index.mdx | 69 ++++++++++--------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx index a2aa6a9d214..8ed4cb4cab5 100644 --- a/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx +++ b/docs/docs/sample-scripts/entra/find-obsolete-m365-groups/index.mdx @@ -234,46 +234,47 @@ Use this script to create a report of all M365 groups that are possibly obsolete } } -function Test-ConversationActivity { - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] [GroupInfo] $Group - ) + function Test-ConversationActivity { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] [GroupInfo] $Group + ) - $WarningDate = (Get-Date).AddDays(-365) - - $conversations = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Sort-Object -Property lastDeliveredDateTime -Descending - $latestConversation = $conversations | Where-Object { - [datetime]$_.lastDeliveredDateTime -gt $WarningDate.Date - } | Select-Object -First 1 - - $Group.MailboxStatus = @{ - NumberOfConversations = $conversations.Length - LastConversation = $conversations ? $conversations[0].lastDeliveredDateTime : "n/a" - OutdatedConversations = 0 - Reason = "" - } + $WarningDate = (Get-Date).AddDays(-365) + + $conversations = m365 entra m365group conversation list --groupId $Group.Reference.id | ConvertFrom-Json | Sort-Object -Property lastDeliveredDateTime -Descending + $latestConversation = $conversations | Where-Object { + [datetime]$_.lastDeliveredDateTime -gt $WarningDate.Date + } | Select-Object -First 1 + + $Group.MailboxStatus = @{ + NumberOfConversations = $conversations.Length + LastConversation = $conversations ? $conversations[0].lastDeliveredDateTime : "n/a" + OutdatedConversations = 0 + Reason = "" + } - # Return if there are no conversations or the latest conversation is not outdated - if (!$conversations -or $latestConversation.Count -eq 1) { return } - - $outdatedConversations = $conversations | Where-Object { - [datetime]$_.lastDeliveredDateTime -lt $WarningDate - } + # Return if there are no conversations or the latest conversation is not outdated + if (!$conversations -or $latestConversation.Count -eq 1) { return } + + $outdatedConversations = $conversations | Where-Object { + [datetime]$_.lastDeliveredDateTime -lt $WarningDate + } - Write-Host " ā†’ potentially obsolete ($($outdatedConversations.Length) conversation item$($outdatedConversations.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow - $reason = "$($outdatedConversations.Length) conversation item$($outdatedConversations.Length -gt 1 ? 's' : '') created more than 1 year ago" + Write-Host " ā†’ potentially obsolete ($($outdatedConversations.Length) conversation item$($outdatedConversations.Length -gt 1 ? 's' : '') created more than 1 year ago)" -ForegroundColor Yellow + $reason = "$($outdatedConversations.Length) conversation item$($outdatedConversations.Length -gt 1 ? 's' : '') created more than 1 year ago" - $Group.MailboxStatus.OutdatedConversations = $outdatedConversations | Sort-Object -Property lastDeliveredDateTime - $Group.MailboxStatus.Reason = $reason - $Group.TestStatus = "šŸŸ” Warning" - $Group.Reasons += $reason + $Group.MailboxStatus.OutdatedConversations = $outdatedConversations | Sort-Object -Property lastDeliveredDateTime + $Group.MailboxStatus.Reason = $reason + $Group.TestStatus = "šŸŸ” Warning" + $Group.Reasons += $reason - try { - $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + try { + $Global:ObsoleteGroups.Add($Group.Reference.id, $Group) + } + catch { Write-Information "Group was already added to the list of potentially obsolete groups" } } - catch { Write-Information "Group was already added to the list of potentially obsolete groups" } -} + function New-Report { [CmdletBinding()] param (