Búsqueda de sitios web

Cómo exportar el permiso del buzón de acceso completo


Puede exportar una lista de usuarios con permiso de acceso completo a un buzón de correo de Microsoft 365 con licencia. De esta manera puede ver qué usuarios pueden abrir el buzón de Microsoft 365 y comportarse como propietario del buzón. En este artículo, aprenderá cómo exportar el permiso del buzón de acceso completo con Exchange Online PowerShell.

Conéctese a Exchange Online PowerShell

Para poder ejecutar comandos de PowerShell, debe conectarse a Exchange Online PowerShell. Abra Windows PowerShell como administrador, ejecute el siguiente cmdlet e inicie sesión con sus credenciales de administrador.

Connect-ExchangeOnline

Exportar permisos de buzón de acceso total para un solo usuario

Le mostraremos cómo exportar los permisos del buzón de un usuario con PowerShell.

Queremos obtener información sobre los permisos de buzón que otros usuarios tienen en un buzón de usuario específico. El cmdlet de PowerShell que utilizamos para mostrar los permisos del buzón es Get-MailboxPermission.

En nuestro ejemplo, queremos mostrar qué usuarios (o grupos) tienen permiso de buzón de acceso total al buzón de Brenda.

Usaremos el parámetro -AutoSize para reducir el espacio entre las columnas de resultados.

Ejecute el siguiente comando de PowerShell.

Get-MailboxPermission "Brenda.Smith@m365info.com" | ft -AutoSize

Vea el resultado de salida de PowerShell.

Identity                             User                     AccessRights                 IsInherited Deny
--------                             ----                     ------------                 ----------- ----
0f38d53f-cbe0-4844-86e9-1032a45ba31b NT AUTHORITY\SELF        {FullAccess, ReadPermission} False       False
0f38d53f-cbe0-4844-86e9-1032a45ba31b Diana.Baker@m365info.com {FullAccess}                 False       False
0f38d53f-cbe0-4844-86e9-1032a45ba31b Finance UK mail list     {FullAccess}                 False       False
0f38d53f-cbe0-4844-86e9-1032a45ba31b Sales Norway             {FullAccess}                 False       False
0f38d53f-cbe0-4844-86e9-1032a45ba31b Laura.Terry@m365info.com {FullAccess}                 False       False

El resultado muestra la Identidad del buzón (Brenda) que proporcionó y enumera los buzones con permiso de acceso total en la columna Usuario.

Técnicamente, obtuvimos los resultados requeridos, pero si profundizamos en los datos, hay algunos problemas.

Cuando usamos el comando básico de PowerShell para mostrar el permiso del buzón en Exchange Online, hay mucha información no relevante. Primero, queremos eliminar el permiso SELF que cada usuario tiene en su buzón. Luego, queremos eliminar del resultado mostrado los permisos IsInherited.

Para eliminar la información innecesaria, usaremos una condición lógica (Dónde) para excluir el permiso del buzón de acceso total clasificado como NT AUTHORITY\SELF y IsInherited. fuerte>.

Ejecute el siguiente ejemplo de comando de PowerShell.

Get-MailboxPermission "Brenda.Smith@m365info.com" | Where { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") } | Ft Identity, User, AccessRights -AutoSize

El resultado de la salida de PowerShell se muestra a continuación.

Identity                             User                     AccessRights
--------                             ----                     ------------
0f38d53f-cbe0-4844-86e9-1032a45ba31b Diana.Baker@m365info.com {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Finance UK mail list     {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Sales Norway             {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Laura.Terry@m365info.com {FullAccess}

Podemos ver que logramos excluir o borrar la mayor parte de la información no relevante. Muestra los buzones con permiso de acceso total al buzón de Brenda.

Exportar permiso de buzón de acceso total para múltiples usuarios

También puede obtener permisos de buzón para más de un usuario. En nuestro ejemplo, queremos saber quién tiene permiso de buzón para Brenda Smith y Ken Walker.

En el comando de PowerShell podemos agregar cada nombre de usuario separado por una coma.

Consulte la siguiente sintaxis del comando de PowerShell.

"Brenda.Smith@m365info.com","Ken.Walker@m365info.com" | ForEach {Get-MailboxPermission -Identity $_}

Para eliminar información irrelevante en la salida, cambiaremos el comando de PowerShell anterior.

Ejecute el ejemplo del comando PowerShell.

"Brenda.Smith@m365info.com","Ken.Walker@m365info.com" | ForEach { Get-MailboxPermission -Identity $_ | Where { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } } | Select Identity, User, AccessRights

Los resultados de salida de PowerShell se muestran a continuación.

Identity                             User                     AccessRights
--------                             ----                     ------------
0f38d53f-cbe0-4844-86e9-1032a45ba31b Diana.Baker@m365info.com {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Finance UK mail list     {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Sales Norway             {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Laura.Terry@m365info.com {FullAccess}
12eefbb2-e5f4-4eec-bd18-df7ca2f1ee6b Brian.Mill@m365info.com  {FullAccess}
12eefbb2-e5f4-4eec-bd18-df7ca2f1ee6b Anna.Bell@m365info.com   {FullAccess}

Enumerará todos los buzones de correo con permisos de acceso total en la columna Usuario para los buzones de correo (Brenda Smith y Ken Walker) que proporcionó.

Exportar permiso de acceso total al que el usuario tiene acceso

Queremos exportar el permiso del buzón de acceso completo que un usuario específico tiene acceso a otros usuarios o grupos.

Para obtener esa información, necesitamos usar el cmdlet Get-Mailbox para obtener una lista de todos los buzones de correo existentes. Luego, también usaremos el cmdlet Get-MailboxPermission y agregaremos el nombre de usuario.

El comando de PowerShell revisará todas las matrices de buzones, verificará en qué buzones el usuario tiene permiso de buzón y mostrará los resultados. El resto del comando de PowerShell se utiliza para mejorar los resultados mostrados por el cmdlet Get-MailboxPermission.

En nuestro ejemplo, nos gustaría obtener información sobre el permiso de acceso total que tiene el usuario Brenda Smith a otros buzones de correo.

  1. Especifique el buzón en la línea número 1
  2. Ejecute el siguiente script de comando de PowerShell
Get-Mailbox -Resultsize Unlimited | Get-MailboxPermission -User "Brenda.Smith@m365info.com" | ForEach-Object {
    $mailbox = Get-Mailbox $_.Identity
    $User = Get-Mailbox $_.User
    [PSCustomObject]@{
        UserId            = $User.Identity
        User              = $_.User
        Identity          = $_.Identity
        UserPrincipalName = $mailbox.UserPrincipalName
        AccessRights      = $_.AccessRights
    }
} | Format-Table UserId, User, Identity, UserPrincipalName, AccessRights

La salida de PowerShell muestra una lista de buzones de correo para los que Brenda Smith tiene permiso de acceso total.

UserId                               User                      Identity                             UserPrincipalName      AccessRights
------                               ----                      --------                             -----------------      ------------
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com 82cd0d62-e974-4892-aca6-e0387abc62be Anna.Bell@m365info.com {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com Catch All                            Catch.All@m365info.com {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com Info Box                             InfoBox@m365info.com   {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com 12eefbb2-e5f4-4eec-bd18-df7ca2f1ee6b Ken.Walker@m365info.c… {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com Projector 21                         Projector21@m365info.… {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com RoomTest8                            RoomTest8@m365info.com {FullAccess}
0f38d53f-cbe0-4844-86e9-1032a45ba31b Brenda.Smith@m365info.com c32b2b27-d809-439a-a3e3-eb7a749eeb72 Stephen.Hunter@m365in… {FullAccess}

La información del buzón (Brenda.Smith@m365info.com) que especificó con permiso de acceso total aparece en las columnas UserId y Usuario. Muestra una lista de todos los buzones de correo de Exchange Online en la columna Identidad y UserPrincipalName.

Exportar lista de buzones de correo con permiso de acceso total a un archivo CSV

Queremos exportar una lista de todos los usuarios con permiso de buzón de acceso completo a un archivo CSV y Out-GridView. Muestra cada buzón con permiso de acceso completo a otro buzón con licencia.

Siga los pasos a continuación para exportar una lista de permisos de buzón a CSV:

  1. Cree la carpeta temp y guárdela en la unidad (C:) si aún no la tiene.
  2. Escriba CSVPath en la línea número 2
  3. Ejecute el siguiente script de PowerShell
# Set the path for the CSV file to store the permissions
$CSVPath = "C:\temp\FullAccessPerms.csv"

try {
    # Get all the mailboxes with unlimited result size and retrieve their mailbox permissions
    $permissions = Get-Mailbox -ResultSize Unlimited | Get-MailboxPermission | Where-Object {
        # Filter out permissions that are inherited, belong to "NT AUTHORITY\SELF", or belong to "Discovery Management"
        ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*')
    } | ForEach-Object {
        # For each permission, get the mailbox details
        $mailbox = Get-Mailbox $_.Identity
        [PSCustomObject]@{
            UserPrincipalName    = $mailbox.UserPrincipalName
            Identity             = $mailbox.Identity
            User                 = $_.User
            AccessRights         = $_.AccessRights
            RecipientTypeDetails = $mailbox.RecipientTypeDetails
        }
    } | Select-Object Identity, UserPrincipalName, User, AccessRights, RecipientTypeDetails

    # Display the permissions in Out-GridView
    $permissions | Out-GridView -Title "Full Access mailbox permissions"

    # Export the permissions to a CSV file
    $permissions | Export-Csv -Path $CSVPath -NoTypeInformation -Encoding UTF8

    # Display a success message if the export was successful
    Write-Host "Exported permissions successfully to $CSVPath" -ForegroundColor Cyan
}
catch {
    # Display an error message if there was an exception during the export
    Write-Host "Error exporting permissions: $_" -ForegroundColor Red
}
  1. Out-GridView aparece después de ejecutar el script

  1. Busque el archivo CSV en la carpeta C:\temp.
  2. Abra el archivo CSV con una aplicación como Microsoft Excel para ver los resultados.

¡Eso es todo!

Leer más: Exporte usuarios de Azure AD con Microsoft Graph PowerShell »

Conclusión

Aprendió a exportar el permiso del buzón de acceso completo con Exchange Online PowerShell. Con el cmdlet Get-MailboxPermission PowerShell, puede obtener una lista de usuarios con permiso de acceso completo para uno o todos los buzones de correo de Microsoft 365.

Disfrutaste este artículo? También te puede interesar Exportar miembros del grupo de Azure AD a CSV con PowerShell. No olvides seguirnos y compartir este artículo.

Artículos relacionados