Edit

Share via


Get-EntraDeletedGroup

Retrieves soft-deleted groups in Microsoft Entra ID.

Syntax

GetQuery (Default)

Get-EntraDeletedGroup

    [-Top <Int32>]
    [-All]
    [-Filter <String>]
    [-Property <String[]>]
    [<CommonParameters>]

GetByValue

Get-EntraDeletedGroup

    [-SearchString <String>]
    [-All]
    [-Property <String[]>]
    [<CommonParameters>]

GetById

Get-EntraDeletedGroup

    -GroupId <String>
    [-Property <String[]>]
    [<CommonParameters>]

GetVague

Get-EntraDeletedGroup

    [-All]
    [-SearchString <String>]
    [-Property <String[]>]
    [<CommonParameters>]

Description

The Get-EntraDeletedGroup cmdlet retrieves soft-deleted groups from the directory. Deleted groups can be recovered within 30 days, after which they are permanently deleted.

Soft delete currently applies only to Unified Groups (Office 365 Groups).

Examples

Example 1: Get deleted groups in the directory

Connect-Entra -Scopes 'Group.Read.All'
Get-EntraDeletedGroup | Select-Object Id, DisplayName, MailNickname, GroupTypes, DeletedDateTime, DeletionAgeInDays | Format-Table -AutoSize
Id                                   DisplayName    MailNickname GroupTypes DeletedDateTime       DeletionAgeInDays
--                                   -----------    ------------ ---------- ---------------       -----------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Contoso Group contosogroup {Unified}  2/12/2025 12:34:13 PM                 10

This cmdlet retrieves all recoverable deleted groups in the Microsoft Entra ID.

Example 2: Get deleted groups in the directory using All parameter

Connect-Entra -Scopes 'Group.Read.All'
Get-EntraDeletedGroup -All | Select-Object Id, DisplayName, MailNickname, GroupTypes, DeletedDateTime, DeletionAgeInDays | Format-Table -AutoSize
Id                                   DisplayName    MailNickname GroupTypes DeletedDateTime       DeletionAgeInDays
--                                   -----------    ------------ ---------- ---------------       -----------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Contoso Group contosogroup {Unified}  2/12/2025 12:34:13 PM                 10

This cmdlet retrieves all recoverable deleted groups in the directory, using All parameter.

Example 3: Get top two deleted groups

Connect-Entra -Scopes 'Group.Read.All'
Get-EntraDeletedGroup -Top 2 | Select-Object Id, DisplayName, MailNickname, GroupTypes, DeletedDateTime, DeletionAgeInDays | Format-Table -AutoSize
Id                                   DisplayName    MailNickname GroupTypes DeletedDateTime       DeletionAgeInDays
--                                   -----------    ------------ ---------- ---------------       -----------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Contoso Group contosogroup {Unified}  2/12/2025 12:34:13 PM                 10

This cmdlet retrieves top two deleted groups in the directory. You can use -Limit as an alias for -Top.

Example 4: Get deleted groups containing string 'test2'

Connect-Entra -Scopes 'Group.Read.All'
Get-EntraDeletedGroup -SearchString 'Contoso Group' | Select-Object Id, DisplayName, MailNickname, GroupTypes, DeletedDateTime, DeletionAgeInDays | Format-Table -AutoSize
Id                                   DisplayName    MailNickname GroupTypes DeletedDateTime       DeletionAgeInDays
--                                   -----------    ------------ ---------- ---------------       -----------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Contoso Group contosogroup {Unified}  2/12/2025 12:34:13 PM                 10

This cmdlet retrieves deleted groups in the directory, containing the specified string.

Example 5: Get deleted groups filter by display name

Connect-Entra -Scopes 'Group.Read.All'
Get-EntraDeletedGroup -Filter "displayName eq 'Contoso Group'" | Select-Object Id, DisplayName, MailNickname, GroupTypes, DeletedDateTime, DeletionAgeInDays | Format-Table -AutoSize
Id                                   DisplayName    MailNickname GroupTypes DeletedDateTime       DeletionAgeInDays
--                                   -----------    ------------ ---------- ---------------       -----------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Contoso Group contosogroup {Unified}  2/12/2025 12:34:13 PM                 10

This cmdlet retrieves deleted groups in the directory, having the specified display name.

Example 6: Get deleted group by GroupId

Connect-Entra -Scopes 'Group.Read.All'
Get-EntraDeletedGroup -GroupId 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' | Select-Object Id, DisplayName, MailNickname, GroupTypes, DeletedDateTime, DeletionAgeInDays | Format-Table -AutoSize
Id                                   DisplayName    MailNickname GroupTypes DeletedDateTime       DeletionAgeInDays
--                                   -----------    ------------ ---------- ---------------       -----------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Contoso Group contosogroup {Unified}  2/12/2025 12:34:13 PM                 10

This cmdlet retrieves the deleted group specified by GroupId.

  • -GroupId parameter specifies the deleted group GroupId.

Parameters

-All

List all pages.

Parameter properties

Type:System.Management.Automation.SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Filter

Specifies an OData v4.0 filter statement. This parameter controls which objects are returned.

Parameter properties

Type:System.String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

GetQuery
Position:Named
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:True
Value from remaining arguments:False

-GroupId

The GroupId of the deleted group to be retrieved.

Parameter properties

Type:System.String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:Id

Parameter sets

GetById
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:True
Value from remaining arguments:False

-Property

Specifies properties to be returned

Parameter properties

Type:

System.String[]

Default value:None
Supports wildcards:False
DontShow:False
Aliases:Select

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-SearchString

Specifies a search string.

Parameter properties

Type:System.String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

GetVague
Position:Named
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:True
Value from remaining arguments:False

-Top

Specifies the maximum number of records to return.

Parameter properties

Type:System.Int32
Default value:None
Supports wildcards:False
DontShow:False
Aliases:Limit

Parameter sets

GetQuery
Position:Named
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:True
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

System.String

System.Nullable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

Outputs

System.Object