Get-AdaptiveScopeMembers

Este cmdlet solo está disponible en el servicio basado en la nube.

Use el cmdlet Get-AdaptiveScopeMembers para recuperar los miembros actuales y pasados de ámbitos adaptables de su organización. Los ámbitos adaptables se usan en las directivas de retención, las directivas de administración de riesgos internos y las directivas de etiquetas de retención.

Para obtener más información acerca de los conjuntos de parámetros de la sección Sintaxis a continuación, vea Sintaxis del cmdlet de Exchange.

Sintaxis

Identity (valor predeterminado)

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 miembros existentes y pasados (usuarios, grupos o sitios) de un ámbito adaptable.

La salida de Cmdlet es una lista donde el primer elemento contiene metadatos de resultados. Los elementos posteriores contienen los miembros.

Los metadatos incluyen la siguiente información:

  • El número total de miembros de la solicitud.
  • Número de miembros devueltos en la página actual.
  • Si hay páginas adicionales disponibles.

Si existen páginas adicionales, los metadatos incluyen un valor de marca de agua y el valor IsLastPage es False.

Para recuperar la página siguiente, pase el valor de marca de agua al parámetro PageCookie en la siguiente invocación del cmdlet. Use el parámetro AdaptiveReportFilters para filtrar los miembros.

Para usar este cmdlet en Security & Compliance PowerShell, debe tener asignados permisos. Para obtener más información vea Permisos en el portal de cumplimiento de Microsoft Purview.

Ejemplos

Ejemplo 1

Get-AdaptiveScopeMembers -Identity "US Finance Users"

En este ejemplo se recuperan los miembros del ámbito adaptable US Finance Users. Si el ámbito contiene menos de 10 000 miembros, se devuelven todos los miembros.

Para ámbitos más grandes, solo se incluyen los primeros 10.000 miembros y el primer objeto de la respuesta contiene metadatos con una marca de agua que se pueden usar para solicitar páginas posteriores.

Ejemplo 2

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

En este ejemplo se devuelven todos los miembros del ámbito adaptable US Finance Users.

Importante: No se recomienda usar el valor PageResultSize Unlimited para ámbitos adaptables grandes. El uso de Unlimited en ámbitos adaptables grandes puede dar lugar a solicitudes de larga duración y errores transitorios que no se puedan volver a intentar de forma eficaz.

Ejemplo 3

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

En este ejemplo solo se devuelven los metadatos con el número total de miembros del ámbito adaptable US Finance Users.

Ejemplo 4

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

En este ejemplo se recuperan los miembros del ámbito adaptable US Finance Users. Si el ámbito contiene menos de 30 miembros, se devuelven todos los miembros.

Para ámbitos más grandes, solo se incluyen los primeros 30 miembros y el primer objeto de la respuesta contiene metadatos con una marca de agua que se pueden usar para solicitar páginas posteriores.

Ejemplo 5

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

En este ejemplo se recuperan los miembros actuales del ámbito adaptable US Finance Users. Si el ámbito contiene menos de 10 000 miembros actuales, se devuelven todos los miembros actuales.

Para ámbitos más grandes, solo se incluyen los primeros 10 000 miembros actuales y el primer objeto de la respuesta contiene metadatos con una marca de agua que se pueden usar para solicitar páginas posteriores.

Ejemplo 6

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

En este ejemplo se recuperan los miembros anteriores del ámbito adaptable US Finance Users. Si el ámbito contiene menos de 10 000 miembros anteriores, se devuelven todos los miembros anteriores.

Para ámbitos más grandes, solo se incluyen los primeros 10 000 miembros anteriores y el primer objeto de la respuesta contiene metadatos con una marca de agua que se pueden usar para solicitar páginas posteriores.

Ejemplo 7

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

En este ejemplo se recuperan los miembros del ámbito adaptable US Finance Sites donde la dirección URL del sitio contiene /personal/ o /teams/. Si los resultados contienen menos de 10 000 miembros, se devuelven todos.

Para resultados más grandes, solo se incluyen los primeros 10 000 y el primer objeto de la respuesta contiene metadatos con una marca de agua que se pueden usar para solicitar páginas posteriores.

Ejemplo 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"

En este ejemplo se recuperan los miembros del ámbito adaptable US Finance Users 200 miembros a la vez y se guardan en una lista. Los resultados se guardan en el archivo CSV especificado.

Ejemplo 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'"
}

A menudo, los clientes necesitan exportar todos los miembros de un ámbito adaptable a archivos para su revisión, auditoría, análisis sin conexión o para compartirlos con otros equipos. Este script auxiliar de Export-AdaptiveScopeMembers simplifica este proceso al paginar automáticamente el ámbito, exportar cada página a un archivo CSV y escribir metadatos de ejecución para reanudar.

Este flujo de trabajo de exportación se puede reiniciar. Si el script se detiene a mitad de camino debido a un error transitorio, un problema de red o el tiempo de espera, simplemente puede ejecutarlo de nuevo. Lee el archivo de metadatos existente, reanuda desde la última página procesada correctamente y continúa exportando hasta que se recuperan todas las páginas.

Pegue esta función en la sesión y llámela con los parámetros deseados. Puede llamar Export-AdaptiveScopeMembers para guardar los resultados en archivos.

En este ejemplo se recuperan los miembros del ámbito adaptable US Finance Users y se guardan cada 10 000 miembros en un archivo CSV de la carpeta proporcionada. Si no existe, se crea la carpeta:

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

En este ejemplo se recuperan los miembros del ámbito adaptable US Finance Users y se guardan cada 200 miembros en un archivo CSV de la carpeta proporcionada. Si no existe, se crea la carpeta:

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

De forma predeterminada, el parámetro -Resume se establece en $true, lo que permite que el proceso de exportación continúe automáticamente desde la última página completada si se interrumpe una sesión de PowerShell. Especifique $false para iniciar la exportación desde el principio y sobrescribir cualquier progreso guardado anteriormente.

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

Parámetros

-AdaptiveReportFilters

Aplicable: Exchange Online, seguridad & cumplimiento normativo

El parámetro AdaptiveReportFilters especifica uno o varios filtros utilizados para refinar los resultados.

Este parámetro acepta una tabla hash donde cada clave se asigna a una lista (matriz) de hasta 10 valores. Las claves de filtro válidas son:

  • MailboxGuidEqualsAny
  • MailboxGuidNotEqualsAny
  • ObjectIdEqualsAny
  • ObjectIdNotEqualsAny
  • SiteIdEqualsAny
  • SiteIdNotEqualsAny
  • SiteUrlContainsAny
  • SiteUrlEqualsAny
  • SiteUrlNotContainsAny
  • SiteUrlNotEqualsAny
  • SiteUrlNotStartsWithAny
  • SiteUrlStartsWithAny
  • SmtpAddressEqualsAny
  • SmtpAddressNotEqualsAny
  • SmtpAddressNotStartsWithAny
  • SmtpAddressStartsWithAny
  • UpnEqualsAny
  • UpnNotEqualsAny
  • UpnNotStartsWithAny
  • UpnStartsWithAny

Varios valores de clave usan la sintaxis OR lógica. Varias claves que no son *No* usan sintaxis O. Las claves mixtas *No* y no *No* usan sintaxis AND lógica.

Ejemplo de valor de parámetro para filtrar por prefijo UPN:

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

Valor de parámetro de ejemplo para incluir por dirección SMTP Y excluir por UPN:

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

Valor de parámetro de ejemplo para incluir por dirección SMTP O incluir por UPN

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

Propiedades de parámetro

Tipo:PswsHashtable
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Default
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-AdaptiveReportQuery

Aplicable: Exchange Online, seguridad & cumplimiento normativo

{{ Fill AdaptiveReportQuery Description }}

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

AdaptiveReportQuery
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-EndDateTime

Aplicable: Exchange Online, seguridad & cumplimiento normativo

{{ Fill EndDateTime Description }}

Propiedades de parámetro

Tipo:DateTimeOffset
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Default
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Identity

Aplicable: Exchange Online, seguridad & cumplimiento normativo

El parámetro Identity especifica el ámbito adaptable. Puedes usar cualquier valor que identifique de forma única el ámbito adaptable. Por ejemplo:

  • Nombre
  • Nombre completo (DN)
  • GUID

Propiedades de parámetro

Tipo:ComplianceRuleIdParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

Aplicable: Exchange Online, seguridad & cumplimiento normativo

PageCookie especifica el marcador desde el que el cmdlet debe seguir recuperando resultados.

Usa el valor de Marca de agua devuelto por una solicitud anterior en el mismo ámbito adaptable que el valor de este parámetro. La marca de agua actúa como un token de continuación, lo que permite que el cmdlet se reanude exactamente donde terminó la página anterior y recupere la siguiente página de miembros.

Importante: La edición manual o la fabricación de un valor de marca de agua puede provocar que se salten páginas, resultados duplicados o solicitudes no válidas. Use siempre el valor de Marca de agua exactamente como lo devuelve el cmdlet.

Tipo:string
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
AdaptiveReportPagination
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-PageResultSize

Aplicable: Exchange Online, seguridad & cumplimiento normativo

El parámetro PageResultSize especifica el número máximo de miembros que se devolverán para la solicitud.

Para obtener la mejor confiabilidad y rendimiento, recupere los miembros en varias páginas más pequeñas hasta llegar a la última página. Este enfoque introduce puntos de interrupción naturales, reduce los tiempos de espera y permite reintentos sin problemas cuando se producen problemas transitorios.

Importante: No se recomienda usar el valor PageResultSize Unlimited para ámbitos adaptables grandes. El uso de Unlimited en ámbitos adaptables grandes puede dar lugar a solicitudes de larga duración y errores transitorios que no se puedan volver a intentar de forma eficaz.

Propiedades de parámetro

Tipo:UnlimitedInt
Valor predeterminado:10000
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Default
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-StartDateTime

Aplicable: Exchange Online, seguridad & cumplimiento normativo

{{ Fill StartDateTime Description }}

Propiedades de parámetro

Tipo:DateTimeOffset
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Default
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-State

Aplicable: Exchange Online, seguridad & cumplimiento normativo

El parámetro State especifica el estado de los miembros del ámbito adaptable. Los valores admitidos son:

  • Añadido: miembros actuales del ámbito adaptable.
  • Eliminado: antiguos miembros del ámbito adaptable.

Propiedades de parámetro

Tipo:LocationState
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Default
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para más información, consulte about_CommonParameters.