Búsqueda de sitios web

Permiso de acceso completo | Permiso de acceso completo al buzón: todo lo que siempre quiso saber pero tuvo miedo de preguntar parte 3/3 .com


Este es el último artículo de una serie de tres artículos que tratan sobre la implementación y el uso del permiso Buzón de acceso total en el entorno de Office 365.

El artículo incluye dos partes:

  1. Mostrar permisos del buzón
    En esta sección, revisaremos el comando básico de PowerShell para mostrar permisos del buzón y demostraremos algunas mejoras que nos ayudarán a "limpiar" información innecesaria.
  1. Eliminar permisos del buzón
    La sintaxis lógica del comando de PowerShell para "Eliminar permisos del buzón" es idéntica a la sintaxis de PowerShell que utilizamos para agregar el permiso del buzón. A pesar de ese hecho, era importante para mí revisar algunos escenarios típicos relacionados con la operación de eliminación de permisos de buzón de acceso total.

Permiso de buzón de acceso total | Serie de artículos

La serie de artículos sobre permisos de buzón de acceso total incluye los tres artículos siguientes:

  1. Permiso de acceso total al buzón - Parte 1/3
  2. Permiso de acceso completo al buzón - Parte 2/3
  3. Permiso de acceso completo al buzón - Parte 3/3 (este artículo)

Parte 1. Mostrar permisos del buzón

Cuando utilizamos el comando básico de PowerShell para mostrar el permiso del buzón en el entorno de Office 365 (Exchange Online), nos enfrentamos a problemas:

  1. Información no relevante
    El resultado que se mostrará incluirá detalles adicionales sobre el permiso que el usuario en particular tiene en su buzón e información adicional sobre el grupo integrado del sistema que tiene permiso en cada uno de los buzones de usuario.
  2. El formato de nombre de usuario
    Cuando mostramos información sobre un permiso de buzón, la información sobre el nombre de usuario se muestra utilizando el nombre de usuario de AD. En el entorno de Office 365 (Exchange Online), el nombre para mostrar del usuario es diferente del nombre para mostrar del usuario estándar o del alias del buzón. El resultado a veces es difícil de leer o entender porque no es tan fácil entender los "nombres de usuario extraños de AD" frente a la convención que conocemos, como hacer referencia a un usuario por su nombre para mostrar o sus alias.

Usar la pantalla predeterminada para mostrar los permisos del buzón

El cmdlet de PowerShell que utilizamos para mostrar los permisos del buzón es Get-MailboxPermission.

Por ejemplo: Para mostrar el permiso del buzón de acceso total que tienen los usuarios (o un grupo) en el buzón de John, podemos usar el comando de PowerShell:

Get-MailboxPermission "John"

El resultado se muestra en la siguiente captura de pantalla.

Técnicamente, obtuvimos los resultados requeridos, pero si analizamos más profundamente el resultado que se muestra en la consola PowerShell, podríamos reconocer algunos "problemas":

La columna de usuario

Debajo del encabezado llamado Usuario, podemos ver información sobre muchos "objetos", como un grupo de sistema integrado con permiso de acceso total al buzón de John y otros usuarios. La información sobre los “objetos” que tienen permisos de buzón no es muy clara por cuatro motivos:

  1. La columna de usuario no es lo suficientemente amplia y, por ese motivo, una parte importante del nombre de usuario se “borra”.
  2. La información sobre el objeto que tiene permiso de buzón incluye mucha información no relevante sobre el grupo del sistema integrado, información sobre la pensión que el usuario tiene en su buzón, etc.
  3. El nombre del usuario que tiene permiso de buzón se muestra utilizando el nombre de usuario de Active Directory. En el entorno de Office 365, el nombre de usuario de Active Directory es diferente del alias de usuario estándar o del nombre para mostrar.
  4. El prefijo del nombre de usuario es el nombre del servidor (información no útil).

Además, la visualización predeterminada incluye una columna como IsInherited y Deny (número 2). La mayoría de las veces, esta información tampoco es relevante.

Optimice los resultados de los permisos del Buzón mostrado

Paso 1: borrar la columna innecesaria

En el primer paso, eliminaremos la columna no relevante utilizando el parámetro FL (lista de archivos). La opción FL nos permite especificar la columna exacta (especificando el nombre del encabezado de la columna). En nuestro ejemplo, nos gustaría mostrar solo las columnas Identidad, Usuario, Derechos de Acceso.

Sintaxis del comando de PowerShell:

Get-MailboxPermission "John" | FT Identity,User,AccessRights

En la captura podemos ver que la columna “usuario” se muestra más claramente, pero todavía tenemos algunos problemas: hay mucha información no relevante, como la información sobre los grupos de sistemas integrados que tienen acceso completo. permiso en el buzón de John y, además, la información sobre el usuario que tiene permiso de acceso completo, como la cuenta de administrador que se muestra mediante el nombre de usuario de Active Directory que incluye una combinación de nombre de usuario y números.

Paso 2: borre la información innecesaria sobre los grupos integrados y SELF

Para poder mostrar solo los “permisos asignados explícitamente” a un buzón, necesitaremos filtrar o eliminar datos no relevantes.

El primer detalle que queremos quitar es el permiso “SELF” que tiene cada usuario en su buzón. El segundo tipo de permisos que queremos eliminar del resultado mostrado se describe como: permisos “IsInherited”.

Para borrar la información no necesaria, usaremos una condición lógica (mediante el comando de PowerShell - Dónde) para excluir el permiso del buzón de acceso total clasificado como NT AUTHORITY\SELF y Se hereda.

Sintaxis del comando de PowerShell:

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FL Identity,User,AccessRights

En la siguiente captura de pantalla, podemos ver que logramos excluir o borrar con éxito la mayor parte de la información no relevante. Ahora podemos ver que dos usuarios tienen permiso de buzón de acceso completo al buzón de John.

Paso 3: usar propiedades calculadas

En el siguiente paso, completaremos la tarea requerida. Nuestra misión ahora es habilitar un nombre de usuario más legible en la columna Usuario.

Reemplazaremos la convención de nombre de usuario de Active Directory usando la propiedad Nombre. Además, cambiaremos el nombre del encabezado de columna del nombre existente Usuario a un encabezado de columna más amigable.

Para ello, crearemos un nuevo encabezado de columna llamado “Usuarios que tienen acceso total“. El contenido de la nueva columna incluirá el nombre de usuario que tiene permisos de buzón de acceso completo al buzón de John. Pero en lugar de las convenciones de nombre de usuario estándar, "sacamos" la propiedad "nombre" (o identificador) de cada uno de los usuarios que tienen permisos.

Sintaxis del comando de PowerShell:

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FT Identity, @{name="Users that have Full Access ";expression={(Get-User $_.User).Name}},AccessRights

En la siguiente captura de pantalla podemos ver los resultados.

El resultado que se muestra en la consola de PowerShell es más comprensible. Podemos ver que el resultado incluye un "nuevo encabezado de columna" llamado Usuarios que tienen acceso completo, y podemos ver el nombre de usuario que tiene permiso de buzón para el buzón de John.

Pero todavía hay mejoras adicionales que podemos utilizar. En la captura de pantalla podemos ver que hay un “espacio significativo” entre las columnas. Si la pantalla de PowerShell no es lo suficientemente amplia podríamos “perder” algo de información.

Entonces, ¿existe alguna opción para reducir el espacio entre las columnas? Y la respuesta es Sí. Analicemos eso en el siguiente paso.

Paso 4: usar la opción Tamaño automático

En este paso, usaremos el parámetro AutoSize para disminuir el espacio entre las columnas de resultados.

Sintaxis del comando de PowerShell:

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FT Identity, @{name="Users that have Full Access ";expression={(Get-User $_.User).Name}},AccessRights -AutoSize

En la siguiente captura de pantalla podemos ver los resultados.

Paso 5: filtrar solo los permisos del buzón de acceso total

Como se mencionó anteriormente, el término "permisos de buzón" incluye una variedad de diferentes tipos de permisos. La persona más común es Acceso completo, pero a veces hay una implementación de otro tipo de permisos de buzón.

Cuando usamos los cmdlets de PowerShell Get-MailboxPermission, los resultados incluirán todos los permisos de buzón disponibles que los usuarios tienen para el buzón.

En caso de que queramos mostrar solo el permiso del buzón de acceso total, podemos filtrar los resultados usando el parámetro Dónde:

($_.AccessRights -like "*FullAccess*")

Sintaxis del comando de PowerShell:

Get-MailboxPermission "John" | Where { ($_.AccessRights -like "*FullAccess*") -and ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | Select Identity, @{name="User";expression={(Get-User $_.User).Name}},AccessRights

Mostrar lista de buzones de correo en los que un usuario tiene permisos de acceso total

En la sección anterior, revisamos un escenario en el que nos gustaría obtener información sobre el permiso del buzón que otros usuarios tienen sobre un usuario específico.

En el siguiente escenario, nos gustaría obtener información sobre el permiso que tiene un usuario en particular en otros buzones de correo o en buzones adicionales.

Por ejemplo, nos gustaría obtener información sobre qué buzones de correo el usuario Administrador tiene permiso de acceso completo.

Para realizar esta tarea, en la primera parte de PowerShell, utilizamos el cmdlet Get-Mailbox para obtener una lista de todos los buzones de correo existentes. En la segunda parte, usamos el cmdlet Get-MailboxPermission y agregamos el nombre de usuario. El comando de PowerShell revisará todas las matrices de buzones, verificará en qué buzones el usuario administrador tiene permiso de buzón y mostrará los resultados. El resto del comando de PowerShell se utiliza para mejorar los resultados que muestra el cmdlet Get-MailboxPermission.

Sintaxis del comando de PowerShell:

Get-Mailbox | Get-MailboxPermission -User "Admin" | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Mostrar una lista de destinatarios que tienen permiso de acceso completo sobre otros destinatarios

En el siguiente escenario, nos gustaría obtener una lista de todos los usuarios cuyo otro usuario tiene permiso de buzón en su buzón.

Sintaxis del comando de PowerShell:

$a = Get-Mailbox 
$a | Get-MailboxPermission | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Mostrar permiso para más de un buzón

Queremos obtener información sobre un usuario que tiene permisos de buzón para más de un usuario. En nuestro ejemplo, nos gustaría saber quién tiene permiso de buzón para acceder al buzón de John + Alice. Podemos agregar cada uno de los nombres de usuario separados por una coma.

Sintaxis del comando de PowerShell:

"John","Alice" | ForEach {Get-MailboxPermission -Identity $_}

Para mejorar el aspecto del resultado mostrado, mejoraremos el comando básico de PowerShell para eliminar información no relevante.

Sintaxis del comando de PowerShell:

"John", "Alice" | ForEach { Get-MailboxPermission -Identity $_ | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } } | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Parte 2. Eliminar permisos del buzón

En la última sección, revisaremos la forma que tenemos para eliminar los permisos del buzón. El cdmlet de PowerShell que utilizamos para eliminar o revocar permisos de buzón es Remove-MailboxPermission.

Escenario 1: eliminar el permiso del buzón de un buzón de usuario

Comencemos con un ejemplo básico: queremos eliminar los permisos del buzón de acceso completo que Alice tiene en el buzón de John.

Sintaxis del comando de PowerShell:

Remove-MailboxPermission "John" -User "Suzan" -AccessRights FullAccess

De forma predeterminada, los cmdlets de PowerShell para eliminar el permiso del buzón mostrarán un mensaje de advertencia: “¿Está seguro de que desea realizar esta acción? "

En caso de que ejecutemos un script que cree una tarea masiva, como eliminar un permiso de buzón que muchos usuarios tienen en un buzón en particular, el “proceso de confirmación” podría resultar bastante agotador.

Para poder evitar el proceso de confirmación, podemos agregar el parámetro Confirm:$False.

Sintaxis del comando de PowerShell:

Remove-MailboxPermission "John" -User "Suzan" -AccessRights FullAccess -Confirm:$False

Escenario 2: eliminar el permiso de buzón de una colección de buzones

Este escenario podría usarse cuando un usuario específico, como un miembro del equipo de soporte técnico o un administrador, tiene permiso de buzón de acceso completo para muchos buzones.

En caso de que queramos eliminar el permiso de buzón que tiene el usuario, primero necesitaremos obtener una lista de todos los buzones existentes. Luego tendremos que verificar si el usuario en particular tiene permiso de acceso completo al buzón de correo, y el último paso será eliminar estos permisos.

Sintaxis del comando de PowerShell:

$Mailboxes = Get-Mailbox 
ForEach ($member in $Mailboxes) {
    Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
}

Usamos el comando basado en la variable que llamamos $Mailboxes. El valor de la variable incluye una lista de todos los tipos de buzones existentes, como buzones de usuario, buzones de sala, etc.

En caso de que necesitemos eliminar el permiso de buzón completo de un tipo de buzón específico, podemos agregar la opción de filtro a la variable.

Escenario 3: eliminar permisos de acceso total solo de los buzones de correo de los usuarios (filtrar buzones de correo de los usuarios)

Sintaxis del comando de PowerShell:

$Mailboxes = Get-Mailbox -ResultSize unlimited -Filter { (RecipientTypeDetails -eq 'UserMailbox')
    ForEach ($member in $Mailboxes) {
        Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
    }

Escenario 4: eliminar los permisos de acceso total solo de los buzones de correo de la sala (buzones de la sala de filtrado)

Sintaxis del comando de PowerShell:

$Mailboxes = Get-Mailbox -ResultSize unlimited -Filter { (RecipientTypeDetails -eq 'RoomMailbox')
    ForEach ($member in $Mailboxes) {
        Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
    }

Artículos relacionados