Compartilhar via


Get-AdaptiveScopeMembers

Esse cmdlet só está disponível no serviço baseado em nuvem.

Utilize o cmdlet Get-AdaptiveScopeMembers para obter membros atuais e anteriores de âmbitos ajustáveis na sua organização. Os âmbitos ajustáveis são utilizados em políticas de retenção, políticas de Gestão de Riscos Internos e políticas de etiquetas 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>]
    [-PageResultSize <UnlimitedInt>]
    [-State <LocationState>]
    [<CommonParameters>]

AdaptiveReportPagination

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    -PageCookie <string>
    [<CommonParameters>]

Description

Utilize este cmdlet para obter membros existentes e anteriores (utilizadores, grupos ou sites) de um âmbito adaptável.

O resultado do cmdlet é uma lista onde o primeiro elemento contém metadados de resultados. Os elementos subsequentes contêm os membros.

Os metadados incluem as seguintes informações:

  • O número total de membros do pedido.
  • O número de membros devolvidos na página atual.
  • Se estão disponíveis páginas adicionais.

Se existirem páginas adicionais, os metadados incluem um valor de Marca d'água e o valor IsLastPage é Falso.

Para obter a página seguinte, transmita o valor De marca d'água para o parâmetro PageCookie na próxima invocação do cmdlet. Utilize 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 obtém os membros do âmbito ajustável Us Finance Users. Se o âmbito contiver menos de 10 000 membros, todos os membros serão devolvidos.

Para âmbitos 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 pode ser utilizada para pedir páginas subsequentes.

Exemplo 2

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited

Este exemplo devolve todos os membros do âmbito adaptável Us Finance Users.

Importante: não recomendamos a utilização do valor PageResultSize Ilimitado para grandes âmbitos ajustáveis. A utilização de Ilimitados em âmbitos adaptativos grandes pode levar a pedidos de execução prolongada e falhas transitórias que não podem ser repetidas de forma eficiente.

Exemplo 3

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0

Este exemplo só devolve metadados com a contagem total de membros do âmbito adaptável Us Finance Users.

Exemplo 4

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30

Este exemplo obtém os membros do âmbito ajustável Us Finance Users. Se o âmbito contiver menos de 30 membros, todos os membros serão devolvidos.

Para âmbitos 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 pode ser utilizada para pedir páginas subsequentes.

Exemplo 5

Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added

Este exemplo obtém os membros atuais do âmbito adaptável Us Finance Users. Se o âmbito contiver menos de 10 000 membros atuais, todos os membros atuais serão devolvidos.

Para âmbitos maiores, apenas os primeiros 10 000 membros atuais estão incluídos e o primeiro objeto na resposta contém metadados com uma marca d'água que pode ser utilizada para pedir páginas subsequentes.

Exemplo 6

Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed

Este exemplo obtém os membros anteriores do âmbito adaptável Us Finance Users. Se o âmbito contiver menos de 10 000 membros anteriores, todos os membros anteriores serão devolvidos.

Para âmbitos maiores, apenas os primeiros 10 000 membros anteriores estão incluídos e o primeiro objeto na resposta contém metadados com uma marca d'água que pode ser utilizada para pedir páginas subsequentes.

Exemplo 7

Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}

Este exemplo obtém os membros dos Sites Financeiros dos E.U.A. de âmbito adaptável onde o URL do site contém /personal/ ou /teams/. Se os resultados contiverem menos de 10 000 membros, todos serão devolvidos.

Para resultados maiores, apenas os primeiros 10 000 estão incluídos e o primeiro objeto na resposta contém metadados com uma marca d'água que pode ser utilizada para pedir 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 obtém os membros do âmbito adaptável Us Finance Users 200 membros de cada vez e guarda-os numa lista. Os resultados são guardados no ficheiro 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'"
}

Muitas vezes, os clientes precisam de exportar todos os membros de um âmbito adaptável para ficheiros para revisão, auditoria, análise offline ou para partilhar com outras equipas. Este script auxiliar Export-AdaptiveScopeMembers simplifica este processo ao paginar automaticamente o âmbito, exportar cada página para um ficheiro CSV e escrever metadados de execução para retomar.

Este fluxo de trabalho de exportação é reiniciável. Se o script parar a meio devido a uma falha transitória, problema de rede ou tempo limite, pode simplesmente executá-lo novamente. Lê o ficheiro de metadados existente, retoma a partir da última página processada com êxito e continua a exportar até que todas as páginas tenham sido obtidas.

Cole esta função na sua sessão e chame-a com os parâmetros pretendidos. Pode ligar Export-AdaptiveScopeMembers para guardar os resultados em ficheiros.

Este exemplo obtém os membros do âmbito ajustável Us Finance Users e guarda cada 10 000 membros num ficheiro csv na pasta fornecida. A pasta é criada se ainda não existir:

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".

Este exemplo obtém os membros do âmbito adaptável Us Finance Users e guarda cada 200 membros num ficheiro csv na pasta fornecida. A pasta é criada se ainda não existir:

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200.

Por predefinição, o parâmetro -Resume está 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 para iniciar a exportação desde o início e substituir qualquer progresso guardado anteriormente.

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200 -Resume $false

Parâmetros

-AdaptiveReportFilters

Aplicável: Exchange Online, Conformidade & de Segurança

O parâmetro AdaptiveReportFilters especifica um ou mais filtros utilizados para refinar os resultados.

Este parâmetro aceita uma tabela hash em que cada chave mapeia 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 utilizam sintaxe OR lógica. Várias teclas não*Não*utilizam sintaxe OR. As teclas *Not* e non-*Not* mistas utilizam sintaxe AND lógica.

Valor do parâmetro de exemplo a filtrar pelo prefixo UPN:

@{UpnStartsWithAny = @("john", "mary")

Valor do parâmetro de exemplo a incluir pelo endereço SMTP E excluir pelo UPN:

@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}

Valor do parâmetro de exemplo a incluir pelo endereço SMTP OU incluir pelo 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

-Identity

Aplicável: Exchange Online, Conformidade & de Segurança

O parâmetro Identity especifica o âmbito adaptável. Pode utilizar qualquer valor que identifique exclusivamente o âmbito 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, Conformidade & de Segurança

O PageCookie especifica o marcador a partir do qual o cmdlet deve continuar a obter resultados.

Utilize o valor Marca d'água devolvido de um pedido anterior para o mesmo âmbito adaptável que o valor deste parâmetro. A marca d'água funciona como um token de continuação, permitindo que o cmdlet retome exatamente onde a página anterior terminou e obtenha a página seguinte dos membros.

Importante: editar ou fabricar manualmente um valor de Marca d'água pode causar páginas ignoradas, resultados duplicados ou pedidos inválidos. Utilize sempre o valor Marca d'água exatamente como devolvido 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, Conformidade & de Segurança

O parâmetro PageResultSize especifica o número máximo de membros a devolver para o pedido.

Para uma melhor fiabilidade e desempenho, obtenha membros em várias páginas mais pequenas até chegar à última página. Esta abordagem introduz pontos de interrupção naturais, reduz os tempos de espera e permite repetições totalmente integradas quando ocorrem problemas transitórios.

Importante: não recomendamos a utilização do valor PageResultSize Ilimitado para grandes âmbitos ajustáveis. A utilização de Ilimitados em âmbitos adaptativos grandes pode levar a pedidos de execução prolongada e falhas transitórias que não podem ser repetidas de forma eficiente.

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

-State

Aplicável: Exchange Online, Conformidade & de Segurança

O parâmetro State especifica o estado dos membros do âmbito adaptável. Os valores válidos são:

  • Adicionado: membros atuais do âmbito adaptável.
  • Removido: antigos membros do âmbito adaptável.

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 suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, confira about_CommonParameters.