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

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.

Tipo:string
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
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.