Get-AdaptiveScopeMembers

Cette cmdlet est disponible uniquement dans le service cloud.

Utilisez l’applet de commande Get-AdaptiveScopeMembers pour récupérer les membres actuels et passés d’étendues adaptatives dans votre organization. Les étendues adaptatives sont utilisées dans les stratégies de rétention, les stratégies de gestion des risques internes et les stratégies d’étiquettes de rétention.

Pour plus d’informations sur les jeux de paramètres dans la section Syntaxe ci-après, voir Syntaxe da la cmdlet Exchange.

Syntaxe

Identity (Par défaut)

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    [<CommonParameters>]

Default

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    [-AdaptiveReportFilters <PswsHashtable>]
    [-EndDateTime <DateTimeOffset>]
    [-PageResultSize <UnlimitedInt>]
    [-StartDateTime <DateTimeOffset>]
    [-State <LocationState>]
    [<CommonParameters>]

AdaptiveReportQuery

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    -AdaptiveReportQuery <String>
    [<CommonParameters>]

AdaptiveReportPagination

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    -PageCookie <string>
    [<CommonParameters>]

Description

Utilisez cette applet de commande pour récupérer les membres existants et passés (utilisateurs, groupes ou sites) d’une étendue adaptative.

La sortie de l’applet de commande est une liste dont le premier élément contient les métadonnées de résultat. Les éléments suivants contiennent les membres.

Les métadonnées incluent les informations suivantes :

  • Nombre total de membres pour la demande.
  • Nombre de membres renvoyés dans la page active.
  • Si des pages supplémentaires sont disponibles.

S’il existe des pages supplémentaires, les métadonnées incluent une valeur Filigrane et la valeur IsLastPage est False.

Pour récupérer la page suivante, transmettez la valeur Filigrane au paramètre PageCookie lors de votre prochain appel de l’applet de commande. Utilisez le paramètre AdaptiveReportFilters pour filtrer les membres.

Pour pouvoir utiliser cette cmdlet dans le Centre de sécurité et de conformité PowerShell, des autorisations doivent vous être attribuées. Pour plus d’informations, consultez la rubrique Autorisations dans le portail de conformité Microsoft Purview.

Exemples

Exemple 1

Get-AdaptiveScopeMembers -Identity "US Finance Users"

Cet exemple récupère les membres de l’étendue adaptative US Finance Users. Si l’étendue contient moins de 10 000 membres, tous les membres sont retournés.

Pour les étendues plus grandes, seuls les 10 000 premiers membres sont inclus, et le premier objet de la réponse contient des métadonnées avec un filigrane qui peut être utilisé pour demander les pages suivantes.

Exemple 2

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited

Cet exemple retourne tous les membres de l’étendue adaptative utilisateurs financiers américains.

Important : nous vous déconseillons d’utiliser la valeur PageResultSize Illimitée pour les étendues adaptatives de grande taille. L’utilisation d’Illimité sur de grandes étendues adaptatives peut entraîner des demandes de longue durée et des échecs temporaires qui ne peuvent pas être retentés efficacement.

Exemple 3

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0

Cet exemple renvoie uniquement les métadonnées avec le nombre total de membres de l’étendue adaptative US Finance Users.

Exemple 4

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30

Cet exemple récupère les membres de l’étendue adaptative US Finance Users. Si l’étendue contient moins de 30 membres, tous les membres sont retournés.

Pour les étendues plus grandes, seuls les 30 premiers membres sont inclus, et le premier objet de la réponse contient des métadonnées avec un filigrane qui peut être utilisé pour demander les pages suivantes.

Exemple 5

Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added

Cet exemple récupère les membres actuels de l’étendue adaptative US Finance Users. Si l’étendue contient moins de 10 000 membres actuels, tous les membres actuels sont retournés.

Pour les étendues plus grandes, seuls les 10 000 premiers membres actuels sont inclus, et le premier objet de la réponse contient des métadonnées avec un filigrane qui peut être utilisé pour demander des pages suivantes.

Exemple 6

Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed

Cet exemple récupère les anciens membres de l’étendue adaptative US Finance Users. Si l’étendue contient moins de 10 000 anciens membres, tous les anciens membres sont retournés.

Pour les étendues plus grandes, seuls les 10 000 premiers anciens membres sont inclus, et le premier objet de la réponse contient des métadonnées avec un filigrane qui peut être utilisé pour demander des pages suivantes.

Exemple 7

Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}

Cet exemple récupère les membres de l’étendue adaptative US Finance Sites où l’URL du site contient /personal/ ou /teams/. Si les résultats contiennent moins de 10 000 membres, tous sont renvoyés.

Pour les résultats plus importants, seuls les 10 000 premiers sont inclus, et le premier objet de la réponse contient des métadonnées avec un filigrane qui peut être utilisé pour demander les pages suivantes.

Exemple 8

$scope="US Finance Users"; $size=200; $cookie=$null
$all=@()
do {
  $page = Get-AdaptiveScopeMembers -Identity $scope -Size $size -PageCookie $cookie
  if(-not $page){ break }
  $meta = $page[0]
  if($meta.CurrentPageMemberCount -gt 0){ $all += $page[1..($page.Count-1)] }
  $cookie = if($meta.IsLastPage){ $null } else { $meta.Watermark }
} while($cookie -ne $null)
$all | Export-Csv -NoTypeInformation -Path "C:\Data\AdaptiveScopeMembers_$($scope -replace ' ','_').csv"

Cet exemple récupère les membres de l’étendue adaptative US Finance Users 200 membres à la fois et les enregistre dans une liste. Les résultats sont enregistrés dans le fichier CSV spécifié.

Exemple 9

function Export-AdaptiveScopeMembers {
    [CmdletBinding()] param([string]$Scope,[string]$Out,[int]$Size=10000,[bool]$Resume=$true)
  $scope=$Scope; $out=$Out; $size=$Size;
  $meta=Join-Path $out "$scope-exportadaptivescopemembersexecutioninfo.json"
  if (-not (Test-Path $out)) { New-Item -ItemType Directory -Path $out | Out-Null }
  $m = if ($resume -and (Test-Path $meta)) { Get-Content $meta -Raw | ConvertFrom-Json } else {$null}
  $cookie = if ($m) {$m.Watermark} else {$null}; $page = if ($m -and $m.IsLastPage -ne $true) { $m.LastPageProcessed + 1 } else {1}; $isLast=$false
  do {
    $res = if ($cookie) { Get-AdaptiveScopeMembers -Identity $scope -PageCookie $cookie -WarningAction SilentlyContinue} else { Get-AdaptiveScopeMembers -Identity $scope -PageResultSize $size -WarningAction SilentlyContinue }
    $metaObj = $res[0]; $members = $res[1..($res.Count-1)]
    if ($members.Count) { $file=Join-Path $out "$scope-part$($page).csv"; $members | Export-Csv $file -NoTypeInformation; Write-Host "Exported $($members.Count) of page $page to file '$file'" }
    $cookie = $metaObj.Watermark; $isLast = $metaObj.IsLastPage
    $status = @{TimestampUtc=(Get-Date).ToUniversalTime().ToString("o"); TotalResults=$metaObj.TotalMemberCount; PageSize=$metaObj.CurrentPageMemberCount; Identity=$metaObj.Identity; Watermark=$cookie; LastPageProcessed=$page; IsLastPage=$metaObj.IsLastPage}
    if ($isLast)   {
      $status = @{TimestampUtc=(Get-Date).ToUniversalTime().ToString("o"); TotalResults=$metaObj.TotalMemberCount; Identity=$metaObj.Identity; Watermark=$cookie; LastPageProcessed=$page; IsLastPage=$metaObj.IsLastPage}
    }
    $status | ConvertTo-Json | Set-Content $meta
    $page++
  } while (-not $isLast)
  Write-Host "Completed exporting members of adaptive scope '$scope' to folder '$out'"
}

Les clients ont souvent besoin d’exporter tous les membres d’une étendue adaptative dans des fichiers pour révision, audit, analyse hors connexion ou partage avec d’autres équipes. Ce script d’assistance Export-AdaptiveScopeMembers simplifie ce processus en paginant automatiquement l’étendue, en exportant chaque page dans un fichier CSV et en écrivant des métadonnées d’exécution pour le CV.

Ce workflow d’exportation est redémarré. Si le script s’arrête à mi-chemin en raison d’une défaillance temporaire, d’un problème réseau ou d’une expiration d’délai, vous pouvez simplement l’exécuter à nouveau. Il lit le fichier de métadonnées existant, reprend à partir de la dernière page traitée avec succès et poursuit l’exportation jusqu’à ce que toutes les pages aient été récupérées.

Collez cette fonction dans votre session et appelez-la avec les paramètres souhaités. Vous pouvez appeler Export-AdaptiveScopeMembers pour enregistrer les résultats dans des fichiers.

Cet exemple récupère les membres de l’étendue adaptative utilisateurs financiers américains et enregistre tous les 10 000 membres dans un fichier CSV sous le dossier fourni. Le dossier est créé s’il n’existe pas déjà :

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".

Cet exemple récupère les membres de l’étendue adaptative utilisateurs financiers américains et enregistre tous les 200 membres dans un fichier csv sous le dossier fourni. Le dossier est créé s’il n’existe pas déjà :

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200.

Par défaut, le paramètre -Resume est défini sur $true, ce qui permet au processus d’exportation de se poursuivre automatiquement à partir de la dernière page terminée si une session PowerShell est interrompue. Spécifiez $false pour démarrer l’exportation depuis le début et remplacer toute progression précédemment enregistrée.

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200 -Resume $false

Paramètres

-AdaptiveReportFilters

Applicable : Exchange Online, sécurité & conformité

Le paramètre AdaptiveReportFilters spécifie un ou plusieurs filtres utilisés pour affiner les résultats.

Ce paramètre accepte une table de hachage dans laquelle chaque clé correspond à une liste (tableau) contenant jusqu’à 10 valeurs. Les clés de filtre valides sont les suivantes :

  • MailboxGuidEqualsAny
  • MailboxGuidNotEqualsAny
  • ObjectIdEqualsAny
  • ObjectIdNotEqualsAny
  • SiteIdEqualsAny
  • SiteIdNotEqualsAny
  • SiteUrlContainsAny
  • SiteUrlEqualsAny
  • SiteUrlNotContainsAny
  • SiteUrlNotEqualsAny
  • SiteUrlNotStartsWithAny
  • SiteUrlStartsWithAny
  • SmtpAddressEqualsAny
  • SmtpAddressNotEqualsAny
  • SmtpAddressNotStartsWithAny
  • SmtpAddressStartsWithAny
  • UpnEqualsAny
  • UpnNotEqualsAny
  • UpnNotStartsWithAny
  • UpnStartsWithAny

Plusieurs valeurs de clé utilisent la syntaxe logique OU. Plusieurs clés non-*Pas* utilisent la syntaxe OU. Les touches mixtes *Pas* et non-*Pas* utilisent la syntaxe logique ET.

Exemple de valeur de paramètre à filtrer par préfixe UPN :

@{UpnStartsWithAny = @("john", "mary")

Exemple de valeur de paramètre à inclure par adresse SMTP ET à exclure par UPN :

@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}

Exemple de valeur de paramètre à inclure par adresse SMTP OU inclure par UPN

@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnEqualsAny = @("bob.old@contoso.com")}

Propriétés du paramètre

Type:PswsHashtable
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AdaptiveReportQuery

Applicable : Exchange Online, sécurité & conformité

{{ Remplir la description d’AdaptiveReportQuery }}

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

AdaptiveReportQuery
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-EndDateTime

Applicable : Exchange Online, sécurité & conformité

{{ Remplir la description de EndDateTime }}

Propriétés du paramètre

Type:DateTimeOffset
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Identity

Applicable : Exchange Online, sécurité & conformité

Le paramètre Identity spécifie l’étendue adaptative. Vous pouvez utiliser n’importe quelle valeur qui identifie de manière unique l’étendue adaptative. Par exemple :

  • Nom
  • Nom unique (DN)
  • GUID

Propriétés du paramètre

Type:ComplianceRuleIdParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

Applicable : Exchange Online, sécurité & conformité

Le PageCookie spécifie le signet à partir duquel l’applet de commande doit continuer à récupérer les résultats.

Utilisez la valeur de filigrane renvoyée à partir d’une requête précédente dans la même étendue adaptative que la valeur de ce paramètre. Le filigrane agit comme un jeton de continuation, permettant à l’applet de commande de reprendre exactement là où la page précédente s’est terminée et de récupérer la page suivante de membres.

Important : la modification ou la fabrication manuelle d’une valeur de filigrane peut entraîner des pages sautées, des résultats en double ou des demandes non valides. Utilisez toujours la valeur de filigrane telle qu’elle est renvoyée par l’applet de commande.

Type:string
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
AdaptiveReportPagination
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PageResultSize

Applicable : Exchange Online, sécurité & conformité

Le paramètre PageResultSize spécifie le nombre maximal de membres à renvoyer pour la demande.

Pour optimiser la fiabilité et les performances, récupérez les membres dans plusieurs pages plus petites jusqu’à ce que vous atteigniez la dernière page. Cette approche introduit des points d’arrêt naturels, réduit les temps d’attente et permet de nouvelles tentatives transparentes lorsque des problèmes temporaires se produisent.

Important : nous vous déconseillons d’utiliser la valeur PageResultSize Illimitée pour les étendues adaptatives de grande taille. L’utilisation d’Illimité sur de grandes étendues adaptatives peut entraîner des demandes de longue durée et des échecs temporaires qui ne peuvent pas être retentés efficacement.

Propriétés du paramètre

Type:UnlimitedInt
Valeur par défaut:10000
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-StartDateTime

Applicable : Exchange Online, sécurité & conformité

{{ Remplir la description de StartDateTime }}

Propriétés du paramètre

Type:DateTimeOffset
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-State

Applicable : Exchange Online, sécurité & conformité

Le paramètre State spécifie l’état des membres de l’étendue adaptative. Les valeurs valides sont les suivantes :

  • Ajoutés : membres actuels de l’étendue adaptative.
  • Supprimés : anciens membres de la lunette adaptative.

Propriétés du paramètre

Type:LocationState
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres communs : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.