Get-AdaptiveScopeMembers
Esse cmdlet só está disponível no serviço baseado em nuvem.
Use o cmdlet Get-AdaptiveScopeMembers para recuperar membros atuais e antigos de escopos adaptáveis em sua organização. Escopos adaptáveis são usados em políticas de retenção, políticas de gerenciamento de risco interno e políticas de rótulo de retenção.
Para saber mais sobre os conjuntos de parâmetros na seção Sintaxe, abaixo, consulte Exchange cmdlet syntax.
Sintaxe
Identity (Default)
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
Use este cmdlet para recuperar membros existentes e anteriores (usuários, grupos ou sites) de um escopo adaptável.
A saída do cmdlet é uma lista em que o primeiro elemento contém metadados de resultado. Os elementos subsequentes contêm os membros.
Os metadados incluem as seguintes informações:
- O número total de membros para a solicitação.
- O número de membros retornados na página atual.
- Se páginas adicionais estão disponíveis.
Se houver páginas adicionais, os metadados incluirão um valor de Marca d'água e o valor IsLastPage será False.
Para recuperar a próxima página, passe o valor de marca d'água para o parâmetro PageCookie na próxima invocação do cmdlet. Use o parâmetro AdaptiveReportFilters para filtrar os membros.
Para usar este cmdlet no PowerShell de Segurança e Conformidade, você precisa receber permissões. Para obter mais informações, confira Permissões no portal de conformidade do Microsoft Purview.
Exemplos
Exemplo 1
Get-AdaptiveScopeMembers -Identity "US Finance Users"
Este exemplo recupera os membros do escopo adaptável US Finance Users. Se o escopo contiver menos de 10.000 membros, todos os membros serão retornados.
Para escopos maiores, apenas os primeiros 10.000 membros são incluídos, e o primeiro objeto na resposta contém metadados com uma marca d'água que podem ser usados para solicitar páginas subsequentes.
Exemplo 2
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited
Este exemplo retorna todos os membros do escopo adaptável US Finance Users.
Importante: não recomendamos usar o valor PageResultSize Unlimited para grandes escopos adaptáveis. O uso ilimitado em grandes escopos adaptáveis pode levar a solicitações de longa execução e falhas transitórias que não podem ser repetidas com eficiência.
Exemplo 3
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0
Este exemplo retorna apenas metadados com a contagem total de membros do escopo adaptável US Finance Users.
Exemplo 4
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30
Este exemplo recupera os membros do escopo adaptável US Finance Users. Se o escopo contiver menos de 30 membros, todos os membros serão retornados.
Para escopos maiores, apenas os primeiros 30 membros são incluídos, e o primeiro objeto na resposta contém metadados com uma marca d'água que podem ser usados para solicitar páginas subsequentes.
Exemplo 5
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added
Este exemplo recupera os membros atuais do escopo adaptável US Finance Users. Se o escopo contiver menos de 10.000 membros atuais, todos os membros atuais serão retornados.
Para escopos maiores, apenas os primeiros 10.000 membros atuais são incluídos, e o primeiro objeto na resposta contém metadados com uma marca d'água que pode ser usada para solicitar páginas subsequentes.
Exemplo 6
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed
Este exemplo recupera os membros anteriores do escopo adaptável US Finance Users. Se o escopo contiver menos de 10.000 membros anteriores, todos os membros anteriores serão retornados.
Para escopos maiores, apenas os primeiros 10.000 membros anteriores são incluídos, e o primeiro objeto na resposta contém metadados com uma marca d'água que podem ser usados para solicitar páginas subsequentes.
Exemplo 7
Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}
Este exemplo recupera os membros do escopo adaptável US Finance Sites em que a URL do site contém /personal/ ou /teams/. Se os resultados contiverem menos de 10.000 membros, todos serão retornados.
Para resultados maiores, apenas os primeiros 10.000 são incluídos, e o primeiro objeto na resposta contém metadados com uma marca d'água que pode ser usada para solicitar páginas subsequentes.
Exemplo 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"
Este exemplo recupera os membros do escopo adaptável US Finance Users 200 membros por vez e os salva em uma lista. Os resultados são salvos no arquivo CSV especificado.
Exemplo 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'"
}
Os clientes geralmente precisam exportar todos os membros de um escopo adaptável para arquivos para revisão, auditoria, análise offline ou para compartilhar com outras equipes. Esse script auxiliar Export-AdaptiveScopeMembers simplifica esse processo paginando automaticamente o escopo, exportando cada página para um arquivo CSV e gravando metadados de execução para currículo.
Este fluxo de trabalho de exportação é reiniciável. Se o script parar no meio do caminho devido a uma falha transitória, problema de rede ou tempo limite, você poderá simplesmente executá-lo novamente. Ele lê o arquivo de metadados existente, retoma a partir da última página processada com êxito e continua exportando até que todas as páginas sejam recuperadas.
Cole essa função em sua sessão e chame-a com os parâmetros desejados. Você pode chamar Export-AdaptiveScopeMembers para salvar os resultados em arquivos.
Este exemplo recupera os membros do escopo adaptável US Finance Users e salva cada 10.000 membros em um arquivo csv na pasta fornecida. A pasta é criada se ainda não existir:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".
Este exemplo recupera os membros do escopo adaptável US Finance Users e salva a cada 200 membros em um arquivo csv na pasta fornecida. A pasta é criada se ainda não existir:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200.
Por padrão, o parâmetro -Resume é definido como $true, permitindo que o processo de exportação continue automaticamente a partir da última página concluída se uma sessão do PowerShell for interrompida. Especifique $false iniciar a exportação desde o início e substituir qualquer progresso salvo anteriormente.
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200 -Resume $false
Parâmetros
-AdaptiveReportFilters
Aplicável: Exchange Online, Segurança & Conformidade
O parâmetro AdaptiveReportFilters especifica um ou mais filtros usados para refinar os resultados.
Esse parâmetro aceita uma tabela de hash em que cada chave é mapeada para uma lista (matriz) de até 10 valores. As chaves de filtro válidas são:
- MailboxGuidEqualsAny
- MailboxGuidNotEqualsAny
- ObjectIdEqualsAny
- ObjectIdNotEqualsAny
- SiteIdEqualsAny
- SiteIdNotEqualsAny
- SiteUrlContainsAny
- SiteUrlEqualsAny
- SiteUrlNotContainsAny
- SiteUrlNotEqualsAny
- SiteUrlNotStartsWithAny
- SiteUrlStartsWithAny
- SmtpAddressEqualsAny
- SmtpAddressNotEqualsAny
- SmtpAddressNotStartsWithAny
- SmtpAddressStartsWithAny
- UpnEqualsAny
- UpnNotEqualsAny
- UpnNotStartsWithAny
- UpnStartsWithAny
Vários valores de chave usam a sintaxe OU lógica. Várias chaves não-*Not* usam a sintaxe OR. As chaves mistas *Not* e não-*Not* usam a sintaxe lógica AND.
Exemplo de valor de parâmetro a ser filtrado por prefixo UPN:
@{UpnStartsWithAny = @("john", "mary")
Exemplo de valor de parâmetro a ser incluído pelo endereço SMTP E excluir por UPN:
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}
Exemplo de valor de parâmetro a ser incluído por endereço SMTP OU incluir por UPN
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnEqualsAny = @("bob.old@contoso.com")}
Propriedades do parâmetro
| Tipo: | PswsHashtable |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-AdaptiveReportQuery
Aplicável: Exchange Online, Segurança & Conformidade
{{ Preencher AdaptiveReportQuery Description }}
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
AdaptiveReportQuery
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-EndDateTime
Aplicável: Exchange Online, Segurança & Conformidade
{{ Preencher EndDateTime Description }}
Propriedades do parâmetro
| Tipo: | DateTimeOffset |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Identity
Aplicável: Exchange Online, Segurança & Conformidade
O parâmetro Identity especifica o escopo adaptável. Você pode usar qualquer valor que identifique exclusivamente o escopo adaptável. Por exemplo:
- Nome
- DN (nome diferenciado)
- GUID
Propriedades do parâmetro
| Tipo: | ComplianceRuleIdParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-PageCookie
Aplicável: Exchange Online, Segurança & Conformidade
O PageCookie especifica o indicador de onde o cmdlet deve continuar recuperando os resultados.
Use o valor de marca d'água retornado de uma solicitação anterior para o mesmo escopo adaptável que o valor desse parâmetro. A marca d'água atua como um token de continuação, permitindo que o cmdlet retome exatamente de onde a página anterior terminou e busque a próxima página de membros.
Importante: Editar ou fabricar manualmente um valor de Marca-d'água pode causar páginas ignoradas, resultados duplicados ou solicitações inválidas. Sempre use o valor de Marca d'água exatamente como retornado pelo cmdlet.
Propriedades do parâmetro
| Tipo: | string |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
AdaptiveReportPagination
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-PageResultSize
Aplicável: Exchange Online, Segurança & Conformidade
O parâmetro PageResultSize especifica o número máximo de membros a serem retornados para a solicitação.
Para obter melhor confiabilidade e desempenho, recupere membros em várias páginas menores até que a última página seja alcançada. Essa abordagem introduz pontos de interrupção naturais, reduz os tempos de espera e permite novas tentativas contínuas quando ocorrem problemas transitórios.
Importante: não recomendamos usar o valor PageResultSize Unlimited para grandes escopos adaptáveis. O uso ilimitado em grandes escopos adaptáveis pode levar a solicitações de longa execução e falhas transitórias que não podem ser repetidas com eficiência.
Propriedades do parâmetro
| Tipo: | UnlimitedInt |
| Valor padrão: | 10000 |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-StartDateTime
Aplicável: Exchange Online, Segurança & Conformidade
{{ Fill StartDateTime Description }}
Propriedades do parâmetro
| Tipo: | DateTimeOffset |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-State
Aplicável: Exchange Online, Segurança & Conformidade
O parâmetro State especifica o estado dos membros do escopo adaptável. Os valores válidos são:
- Adicionado: membros atuais do escopo adaptável.
- Removido: ex-membros do escopo adaptativo.
Propriedades do parâmetro
| Tipo: | LocationState |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Default
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet dá suporte aos parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, confira about_CommonParameters.