Get-AdaptiveScopeMembers
Questo cmdlet è disponibile solamente nel servizio basato sul cloud.
Usare il cmdlet Get-AdaptiveScopeMembers per recuperare i membri attuali e passati degli ambiti adattivi nell'organizzazione. Gli ambiti adattivi vengono usati nei criteri di conservazione, nei criteri di gestione dei rischi Insider e nei criteri delle etichette di conservazione.
Per informazioni sui set di parametri nella sezione Sintassi, vedere Sintassi del cmdlet di Exchange.
Sintassi
Identity (Impostazione predefinita)
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>]
Descrizione
Usare questo cmdlet per recuperare i membri esistenti e passati (utenti, gruppi o siti) di un ambito adattivo.
L'output del cmdlet è un elenco in cui il primo elemento contiene i metadati del risultato. Gli elementi successivi contengono i membri.
I metadati includono le informazioni seguenti:
- Numero totale di membri per la richiesta.
- Numero di membri restituiti nella pagina corrente.
- Indica se sono disponibili pagine aggiuntive.
Se esistono altre pagine, i metadati includono un valore di filigrana e il valore IsLastPage è False.
Per recuperare la pagina successiva, passare il valore Watermark al parametro PageCookie nella successiva chiamata del cmdlet. Utilizzare il parametro AdaptiveReportFilters per filtrare i membri.
Per usare questo cmdlet in PowerShell per sicurezza e conformità, è necessario disporre delle autorizzazioni. Per ulteriori informazioni, vedere Autorizzazioni nel portale di conformità di Microsoft Purview.
Esempio
Esempio 1
Get-AdaptiveScopeMembers -Identity "US Finance Users"
In questo esempio vengono recuperati i membri dell'ambito adattivo US Finance Users. Se l'ambito contiene meno di 10.000 membri, vengono restituiti tutti i membri.
Per ambiti più grandi, vengono inclusi solo i primi 10.000 membri e il primo oggetto nella risposta contiene metadati con una filigrana che può essere utilizzata per richiedere le pagine successive.
Esempio 2
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited
Questo esempio restituisce tutti i membri dell'ambito adattivo US Finance Users.
Importante: non è consigliabile usare il valore PageResultSize Unlimited per ambiti adattivi di grandi dimensioni. L'uso di Illimitato su ambiti adattivi di grandi dimensioni potrebbe causare richieste a esecuzione prolungata ed errori temporanei che non possono essere ritentati in modo efficiente.
Esempio 3
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0
Questo esempio restituisce solo i metadati con il numero totale di membri dell'ambito adattivo US Finance Users.
Esempio 4
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30
In questo esempio vengono recuperati i membri dell'ambito adattivo US Finance Users. Se l'ambito contiene meno di 30 membri, vengono restituiti tutti i membri.
Per ambiti più grandi, vengono inclusi solo i primi 30 membri e il primo oggetto nella risposta contiene metadati con una filigrana che può essere utilizzata per richiedere le pagine successive.
Esempio 5
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added
In questo esempio vengono recuperati i membri correnti dell'ambito adattivo US Finance Users. Se l'ambito contiene meno di 10.000 membri correnti, vengono restituiti tutti i membri correnti.
Per ambiti più grandi, vengono inclusi solo i primi 10.000 membri correnti e il primo oggetto della risposta contiene metadati con una filigrana che può essere utilizzata per richiedere le pagine successive.
Esempio 6
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed
In questo esempio vengono recuperati i membri precedenti dell'ambito adattivo US Finance Users. Se l'ambito contiene meno di 10.000 membri precedenti, vengono restituiti tutti i membri precedenti.
Per ambiti più grandi, vengono inclusi solo i primi 10.000 membri precedenti e il primo oggetto nella risposta contiene metadati con una filigrana che può essere utilizzata per richiedere le pagine successive.
Esempio 7
Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}
In questo esempio vengono recuperati i membri dell'ambito adattivo US Finance Sites in cui l'URL del sito contiene /personal/ o /teams/. Se il risultato contiene meno di 10.000 membri, vengono restituiti tutti.
Per risultati più grandi, vengono inclusi solo i primi 10.000 e il primo oggetto della risposta contiene metadati con una filigrana che può essere usata per richiedere le pagine successive.
Esempio 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 questo esempio vengono recuperati i membri dell'ambito adattivo US Finance Users 200 membri alla volta e vengono salvati in un elenco. I risultati vengono salvati nel file CSV specificato.
Esempio 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'"
}
I clienti spesso devono esportare tutti i membri di un ambito adattivo in file per la revisione, il controllo, l'analisi offline o per condividerli con altri team. Questo script helper Export-AdaptiveScopeMembers semplifica questo processo eseguendo automaticamente il paging nell'ambito, esportando ogni pagina in un file CSV e scrivendo i metadati di esecuzione per il curriculum.
Questo flusso di lavoro di esportazione è riavviabile. Se lo script si arresta a metà a causa di un errore temporaneo, di un problema di rete o di un timeout, è sufficiente eseguirlo di nuovo. Legge il file di metadati esistente, riprende dall'ultima pagina elaborata correttamente e continua l'esportazione fino a quando tutte le pagine non sono state recuperate.
Incolla questa funzione nella tua sessione e chiamala con i parametri desiderati. È possibile chiamare Export-AdaptiveScopeMembers per salvare i risultati in file.
In questo esempio vengono recuperati i membri dell'ambito adattivo US Finance Users e vengono salvati ogni 10.000 membri in un file csv nella cartella fornita. La cartella viene creata se non esiste già:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".
In questo esempio vengono recuperati i membri dell'ambito adattivo US Finance Users e vengono salvati ogni 200 membri in un file csv nella cartella fornita. La cartella viene creata se non esiste già:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200.
Per impostazione predefinita, il parametro -Resume è impostato su $true, consentendo al processo di esportazione di continuare automaticamente dall'ultima pagina completata se una sessione di PowerShell viene interrotta. Specifica $false avviare l'esportazione dall'inizio e sovrascrivere qualsiasi stato di avanzamento salvato in precedenza.
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200 -Resume $false
Parametri
-AdaptiveReportFilters
Applicabile: Exchange Online, sicurezza & conformità
Il parametro AdaptiveReportFilters consente di specificare uno o più filtri utilizzati per perfezionare i risultati.
Questo parametro accetta una tabella hash in cui ogni chiave viene mappata a un elenco (matrice) di massimo 10 valori. Le chiavi di filtro valide sono:
- MailboxGuidEqualsAny
- MailboxGuidNotEqualsAny
- ObjectIdEqualsAny
- ObjectIdNotEqualsAny
- SiteIdEqualsAny
- SiteIdNotEqualsAny
- SiteUrlContainsAny
- SiteUrlEqualsAny
- SiteUrlNotContainsAny
- SiteUrlNotEqualsAny
- SiteUrlNotStartsWithAny
- SiteUrlStartsWithAny
- SmtpAddressEqualsAny
- SmtpAddressNotEqualsAny
- SmtpAddressNotStartsWithAny
- SmtpAddressStartsWithAny
- UpnEqualsAny
- UpnNotEqualsAny
- UpnNotStartsWithAny
- UpnStartsWithAny
Più valori chiave usano la sintassi logica OR. Più tasti non *Not* usano la sintassi OR. Le chiavi miste *Not* e non-*Not* usano la sintassi logica AND.
Valore del parametro di esempio per filtrare in base al prefisso UPN:
@{UpnStartsWithAny = @("john", "mary")
Valore del parametro di esempio da includere per indirizzo SMTP AND escludere per UPN:
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}
Valore del parametro di esempio da includere in base all'indirizzo SMTP O da includere tramite UPN
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnEqualsAny = @("bob.old@contoso.com")}
Proprietà dei parametri
| Tipo: | PswsHashtable |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Default
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-AdaptiveReportQuery
Applicabile: Exchange Online, sicurezza & conformità
{{ Fill AdaptiveReportQuery Description }}
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
AdaptiveReportQuery
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-EndDateTime
Applicabile: Exchange Online, sicurezza & conformità
{{ Fill EndDateTime Description }}
Proprietà dei parametri
| Tipo: | DateTimeOffset |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Default
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Identity
Applicabile: Exchange Online, sicurezza & conformità
Il parametro Identity specifica l'ambito adattivo. È possibile usare qualsiasi valore che identifichi in modo univoco l'ambito adattivo. Ad esempio:
- Nome
- Nome distinto (DN)
- GUID
Proprietà dei parametri
| Tipo: | ComplianceRuleIdParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-PageCookie
Applicabile: Exchange Online, sicurezza & conformità
PageCookie specifica il segnalibro da cui il cmdlet deve continuare a recuperare i risultati.
Usa il valore della filigrana restituito da una richiesta precedente allo stesso ambito adattivo del valore di questo parametro. La filigrana funge da token di continuazione, consentendo al cmdlet di riprendere esattamente da dove è terminata la pagina precedente e recuperare la pagina successiva dei membri.
Importante: la modifica o la fabbricazione manuale di un valore di filigrana potrebbe causare pagine ignorate, risultati duplicati o richieste non valide. Utilizzare sempre il valore della filigrana esattamente come restituito dal cmdlet.
Proprietà dei parametri
| Tipo: | string |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
AdaptiveReportPagination
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PageResultSize
Applicabile: Exchange Online, sicurezza & conformità
Il parametro PageResultSize consente di specificare il numero massimo di membri da restituire per la richiesta.
Per ottenere affidabilità e prestazioni ottimali, recuperare i membri in più pagine più piccole fino a raggiungere l'ultima pagina. Questo approccio introduce punti di interruzione naturali, riduce i tempi di attesa e consente di ripetere i tentativi senza problemi quando si verificano problemi temporanei.
Importante: non è consigliabile usare il valore PageResultSize Unlimited per ambiti adattivi di grandi dimensioni. L'uso di Illimitato su ambiti adattivi di grandi dimensioni potrebbe causare richieste a esecuzione prolungata ed errori temporanei che non possono essere ritentati in modo efficiente.
Proprietà dei parametri
| Tipo: | UnlimitedInt |
| Valore predefinito: | 10000 |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Default
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-StartDateTime
Applicabile: Exchange Online, sicurezza & conformità
{{ Fill StartDateTime Description }}
Proprietà dei parametri
| Tipo: | DateTimeOffset |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Default
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-State
Applicabile: Exchange Online, sicurezza & conformità
Il parametro State specifica lo stato dei membri dell'ambito adattivo. I valori validi sono:
- Aggiunto: membri correnti dell'ambito adattivo.
- Rimossi: ex membri dell'ambito adattivo.
Proprietà dei parametri
| Tipo: | LocationState |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Default
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedere about_CommonParameters.