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 |
-PageCookie
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.
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
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.