Get-AdaptiveScopeMembers
Dieses Cmdlet ist nur im cloudbasierten Dienst verfügbar.
Verwenden Sie das Cmdlet Get-AdaptiveScopeMembers, um aktuelle und frühere Mitglieder adaptiver Bereiche in Ihrer organization abzurufen. Adaptive Bereiche werden in Aufbewahrungsrichtlinien, Richtlinien für das Insider-Risikomanagement und Richtlinien für Aufbewahrungsbezeichnungen verwendet.
Informationen zu den Parametersätzen im Abschnitt zur Syntax weiter unten finden Sie unter Syntax der Exchange-Cmdlets.
Syntax
Identity (Standard)
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>]
Beschreibung
Verwenden Sie dieses Cmdlet, um vorhandene und frühere Mitglieder (Benutzer, Gruppen oder Websites) eines adaptiven Bereichs abzurufen.
Die Cmdlet-Ausgabe ist eine Liste, deren erstes Element Ergebnismetadaten enthält. Die nachfolgenden Elemente enthalten die Elemente.
Metadaten enthalten die folgenden Informationen:
- Die Gesamtzahl der Mitglieder für die Anforderung.
- Die Anzahl der Mitglieder, die auf der aktuellen Seite zurückgegeben werden.
- Gibt an, ob zusätzliche Seiten verfügbar sind.
Wenn zusätzliche Seiten vorhanden sind, enthalten die Metadaten einen Wasserzeichen-Wert, und der IsLastPage-Wert ist False.
Um die nächste Seite abzurufen, übergeben Sie den Watermark-Wert beim nächsten Aufruf des Cmdlets an den PageCookie-Parameter. Verwenden Sie den Parameter AdaptiveReportFilters zum Filtern der Elemente.
Um dieses Cmdlet in Security & Compliance PowerShell zu verwenden, müssen Ihnen Berechtigungen zugewiesen werden. Weitere Informationen finden Sie unter Berechtigungen im Microsoft Purview-Complianceportal.
Beispiele
Beispiel 1
Get-AdaptiveScopeMembers -Identity "US Finance Users"
In diesem Beispiel werden die Mitglieder des adaptiven Bereichs "US Finance Users" abgerufen. Wenn der Bereich weniger als 10.000 Member enthält, werden alle Member zurückgegeben.
Bei größeren Bereichen werden nur die ersten 10.000 Member eingeschlossen, und das erste Objekt in der Antwort enthält Metadaten mit einem Wasserzeichen, mit denen nachfolgende Seiten angefordert werden können.
Beispiel 2
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited
Dieses Beispiel gibt jedes Mitglied des adaptiven Bereichs "US Finance Users" zurück.
Wichtig: Es wird nicht empfohlen, den PageResultSize-Wert "Unlimited" für große adaptive Bereiche zu verwenden. Die Verwendung von "Unbeschränkt" für große adaptive Bereiche kann zu Anforderungen mit langer Ausführungszeit und vorübergehenden Fehlern führen, die nicht effizient wiederholt werden können.
Beispiel 3
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0
Dieses Beispiel gibt nur Metadaten mit der Gesamtzahl der Mitglieder des adaptiven Bereichs US Finance Users zurück.
Beispiel 4
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30
In diesem Beispiel werden die Mitglieder des adaptiven Bereichs "US Finance Users" abgerufen. Wenn der Bereich weniger als 30 Member enthält, werden alle Member zurückgegeben.
Bei größeren Bereichen werden nur die ersten 30 Member eingeschlossen, und das erste Objekt in der Antwort enthält Metadaten mit einem Wasserzeichen, mit denen nachfolgende Seiten angefordert werden können.
Beispiel 5
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added
In diesem Beispiel werden die aktuellen Mitglieder des adaptiven Bereichs "US Finance Users" abgerufen. Wenn der Bereich weniger als 10.000 aktuelle Mitglieder enthält, werden alle aktuellen Mitglieder zurückgegeben.
Bei größeren Bereichen werden nur die ersten 10.000 aktuellen Member eingeschlossen, und das erste Objekt in der Antwort enthält Metadaten mit einem Wasserzeichen, mit denen nachfolgende Seiten angefordert werden können.
Beispiel 6
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed
In diesem Beispiel werden die vergangenen Mitglieder des adaptiven Bereichs "US Finance Users" abgerufen. Wenn der Bereich weniger als 10.000 frühere Mitglieder enthält, werden alle früheren Mitglieder zurückgegeben.
Bei größeren Bereichen werden nur die ersten 10.000 früheren Mitglieder eingeschlossen, und das erste Objekt in der Antwort enthält Metadaten mit einem Wasserzeichen, mit denen nachfolgende Seiten angefordert werden können.
Beispiel 7
Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}
In diesem Beispiel werden die Mitglieder des adaptiven Bereichs "US Finance Sites" abgerufen, bei denen die Website-URL "oder/teams/" enthält/personal/. Wenn die Ergebnisse weniger als 10.000 Mitglieder enthalten, werden alle zurückgegeben.
Bei größeren Ergebnissen werden nur die ersten 10.000 eingeschlossen, und das erste Objekt in der Antwort enthält Metadaten mit einem Wasserzeichen, mit denen nachfolgende Seiten angefordert werden können.
Beispiel 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"
In diesem Beispiel werden die Mitglieder des adaptiven Bereichs "US Finance Users 200 Mitglieder" gleichzeitig abgerufen und in einer Liste gespeichert. Die Ergebnisse werden in der angegebenen CSV-Datei gespeichert.
Beispiel 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'"
}
Kunden müssen häufig alle Mitglieder eines adaptiven Bereichs zur Überprüfung, Überwachung, Offlineanalyse oder zum Teilen mit anderen Teams in Dateien exportieren. Dieses Export-AdaptiveScopeMembers-Hilfsskript vereinfacht diesen Prozess, indem es automatisch den Bereich durchsucht, jede Seite in eine CSV-Datei exportiert und Ausführungsmetadaten für den Lebenslauf schreibt.
Dieser Exportworkflow kann neu gestartet werden. Wenn das Skript aufgrund eines vorübergehenden Fehlers, eines Netzwerkproblems oder einer Zeitüberschreitung auf halbem Weg stoppt, können Sie es einfach erneut ausführen. Es liest die vorhandene Metadatendatei, setzt die Verarbeitung ab der letzten erfolgreich verarbeiteten Seite fort und setzt den Export fort, bis alle Seiten abgerufen wurden.
Fügen Sie diese Funktion in Ihre Sitzung ein und rufen Sie sie mit den gewünschten Parametern auf. Sie können anrufen Export-AdaptiveScopeMembers , um die Ergebnisse in Dateien zu speichern.
In diesem Beispiel werden die Mitglieder des adaptiven Bereichs "US Finance Users" abgerufen und alle 10.000 Mitglieder in einer CSV-Datei unter dem bereitgestellten Ordner gespeichert. Der Ordner wird erstellt, wenn er noch nicht vorhanden ist:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".
In diesem Beispiel werden die Mitglieder des adaptiven Bereichs "US Finance Users" abgerufen und alle 200 Mitglieder in einer CSV-Datei unter dem bereitgestellten Ordner gespeichert. Der Ordner wird erstellt, wenn er noch nicht vorhanden ist:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200.
Standardmäßig ist der Parameter -Resume auf $true festgelegt, sodass der Exportvorgang automatisch ab der letzten abgeschlossenen Seite fortgesetzt werden kann, wenn eine PowerShell-Sitzung unterbrochen wird. Geben Sie an, $false der Export von vorne gestartet und zuvor gespeicherte Fortschritte überschrieben werden sollen.
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200 -Resume $false
Parameter
-AdaptiveReportFilters
Anwendbar: Exchange Online, Security & Compliance
Der Parameter AdaptiveReportFilters gibt mindestens einen Filter an, der zum Verfeinern der Ergebnisse verwendet wird.
Dieser Parameter akzeptiert eine Hashtabelle, in der jeder Schlüssel einer Liste (Array) von bis zu 10 Werten zugeordnet ist. Gültige Filterschlüssel:
- MailboxGuidEqualsAny
- MailboxGuidNotEqualsAny
- ObjectIdEqualsAny
- ObjectIdNotEqualsAny
- SiteIdEqualsAny
- SiteIdNotEqualsAny
- SiteUrlContainsAny
- SiteUrlEqualsAny
- SiteUrlNotContainsAny
- SiteUrlNotEqualsAny
- SiteUrlNotStartsWithAny
- SiteUrlStartsWithAny
- SmtpAddressEqualsAny
- SmtpAddressNotEqualsAny
- SmtpAddressNotStartsWithAny
- SmtpAddressStartsWithAny
- UPNEqualsAny
- UPNNotEqualsAny
- UpnNotStartsWithAny
- UpnStartsWithAny
Mehrere Schlüsselwerte verwenden die logische ODER-Syntax. Mehrere Nicht-*Nicht*-Schlüssel verwenden die ODER-Syntax. Gemischte *Nicht*- und Nicht-*Nicht*-Schlüssel verwenden logische UND-Syntax.
Beispielparameterwert zum Filtern nach UPN-Präfix:
@{UpnStartsWithAny = @("john", "mary")
Beispielparameterwert, der durch SMTP-Adresse eingeschlossen und durch UPN ausgeschlossen werden soll:
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}
Beispielparameterwert, der in SMTP-Adresse eingeschlossen oder per UPN eingeschlossen werden soll
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnEqualsAny = @("bob.old@contoso.com")}
Parametereigenschaften
| Typ: | PswsHashtable |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-AdaptiveReportQuery
Anwendbar: Exchange Online, Security & Compliance
{{ Fill AdaptiveReportQuery Description }}
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
AdaptiveReportQuery
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-EndDateTime
Anwendbar: Exchange Online, Security & Compliance
{{ Fill EndDateTime Description }}
Parametereigenschaften
| Typ: | DateTimeOffset |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Identity
Anwendbar: Exchange Online, Security & Compliance
Der Parameter "Identity" gibt den adaptiven Bereich an. Sie können einen beliebigen Wert verwenden, der den adaptiven Bereich eindeutig identifiziert. Zum Beispiel:
- Name
- Distinguished Name (DN)
- GUID
Parametereigenschaften
| Typ: | ComplianceRuleIdParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-PageCookie
Anwendbar: Exchange Online, Security & Compliance
Das PageCookie gibt das Lesezeichen an, von dem aus das Cmdlet weiterhin Ergebnisse abrufen soll.
Verwenden Sie den von einer vorherigen Anforderung zurückgegebenen Wasserzeichenwert im gleichen adaptiven Bereich wie der Wert dieses Parameters. Das Wasserzeichen fungiert als Fortsetzungstoken, sodass das Cmdlet genau dort weitermachen kann, wo die vorherige Seite endete, und die nächste Seite der Mitglieder abrufen kann.
Wichtig: Das manuelle Bearbeiten oder Herstellen eines Wasserzeichenwerts kann zu übersprungenen Seiten, doppelten Ergebnissen oder ungültigen Anforderungen führen. Verwenden Sie den Wasserzeichenwert immer exakt so, wie er vom Cmdlet zurückgegeben wird.
Parametereigenschaften
| Typ: | string |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
AdaptiveReportPagination
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PageResultSize
Anwendbar: Exchange Online, Security & Compliance
Der Parameter PageResultSize gibt die maximale Anzahl von Elementen an, die für die Anforderung zurückgegeben werden sollen.
Um eine optimale Zuverlässigkeit und Leistung zu erzielen, rufen Sie Member in mehreren kleineren Seiten ab, bis die letzte Seite erreicht ist. Dieser Ansatz führt natürliche Haltepunkte ein, verkürzt Wartezeiten und ermöglicht nahtlose Wiederholungsversuche, wenn vorübergehende Probleme auftreten.
Wichtig: Es wird nicht empfohlen, den PageResultSize-Wert "Unlimited" für große adaptive Bereiche zu verwenden. Die Verwendung von "Unbeschränkt" für große adaptive Bereiche kann zu Anforderungen mit langer Ausführungszeit und vorübergehenden Fehlern führen, die nicht effizient wiederholt werden können.
Parametereigenschaften
| Typ: | UnlimitedInt |
| Standardwert: | 10000 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-StartDateTime
Anwendbar: Exchange Online, Security & Compliance
{{ Fill StartDateTime Description }}
Parametereigenschaften
| Typ: | DateTimeOffset |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-State
Anwendbar: Exchange Online, Security & Compliance
Der State-Parameter gibt den Zustand der Member des adaptiven Bereichs an. Gültige Werte sind:
- Hinzugefügt: Aktuelle Mitglieder des adaptiven Bereichs.
- Entfernt: Ehemalige Mitglieder des adaptiven Bereichs.
Parametereigenschaften
| Typ: | LocationState |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen finden Sie unter about_CommonParameters.