> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/es/automatizacion/runbooks/runbook-references/user/mail/delegate-full-access.md).

# Delegar acceso completo

### Descripción

Concede o elimina el permiso Exchange Online FullAccess en el buzón de un usuario seleccionado para uno o más usuarios delegados, con configuración opcional de Outlook AutoMapping. El runbook muestra los permisos del buzón antes y después del cambio, y continúa con los delegados restantes si uno falla, proporcionando un resumen de todos los éxitos y fallos.

### Cómo funciona

En cada ejecución, el runbook:

1. Se conecta a Exchange Online con la identidad administrada de la cuenta de Automation.
2. Verifica que el propietario del buzón seleccionado (`Nombre de usuario`) realmente tiene un buzón; si no, la ejecución se detiene antes de cambiar nada.
3. Resuelve cada delegado seleccionado a su dirección SMTP principal y elimina duplicados y al propio propietario del buzón.
4. Lee e imprime las **FullAccess** delegaciones actuales en el buzón (el *estado actual*).
5. Concede o elimina FullAccess para cada delegado restante, uno a la vez.
6. Vuelve a leer los permisos del buzón e imprime el estado resultante más un resumen por ejecución.

El runbook solo afecta al **FullAccess** permiso sobre el único buzón seleccionado. Send As, Send on Behalf y los permisos a nivel de carpeta no se ven afectados.

#### Selección de delegados

El **Delegate access to** campo es un **de selección múltiple** selector de usuarios. Seleccione tantos delegados como necesite: todos reciben la misma acción (*Conceder acceso* o *Quitar acceso*) y el mismo ajuste de AutoMapping del formulario en una sola ejecución.

El selector está restringido a cuentas miembro (`userType eq 'Member'`), por lo que no se ofrecen cuentas invitadas. Entrega cada delegado seleccionado como un **nombre principal de usuario**, así que la primera línea de registro ya se lee como una lista de UPN en lugar de identificadores de objeto sin procesar. Luego cada valor se resuelve contra Exchange Online y, a partir de la comprobación previa, toda la salida muestra la dirección SMTP principal del delegado.

Dos entradas del selector que se resuelven al mismo buzón se deduplican, y un delegado que se resuelve como el propietario del buzón se descarta con una advertencia: un buzón no puede delegarse a sí mismo.

#### Qué cambia

* **Conceder acceso (`Quitar` = false):** `Add-MailboxPermission` con `-AccessRights FullAccess` para cada delegado.
* **Quitar acceso (`Quitar` = true):** `Remove-MailboxPermission` con `-AccessRights FullAccess -InheritanceType All` para cada delegado.

#### AutoMapping

**`AutoMapping`** solo se evalúa al conceder acceso; el portal oculta el campo cuando *Quitar acceso* está seleccionado. Con AutoMapping habilitado, Outlook agrega automáticamente el buzón delegado al perfil del delegado, pero solo después de que el cliente vuelva a crear la asignación, lo que puede tardar un poco. Las concesiones existentes no se reescriben para cambiar su valor de AutoMapping; quite la delegación y concédala de nuevo si debe cambiar el comportamiento de asignación.

#### Idempotente por diseño

Nada se hace dos veces y nada falla solo porque ya era cierto:

* Conceder acceso a un delegado que ya tiene FullAccess se informa como *sin cambios*, no como un error.
* Quitar acceso a un delegado que no tiene ninguna entrada FullAccess se informa como *sin cambios*, no como un error.
* Cuando la instantánea previa al cambio no puede clasificar una entrada de permiso existente, el runbook no **no** toma el atajo: llama a Exchange Online y deja que su respuesta decida, de modo que una delegación que puede eliminarse nunca se omite en silencio.

#### Resultados parciales

Los delegados se procesan de forma independiente:

* Un delegado **sin buzón** se omite durante la comprobación previa y se cuenta como *omitido*; los delegados restantes siguen procesándose. Si ninguno de los delegados seleccionados tiene buzón, la ejecución se detiene.
* Un delegado cuyo cambio **falla** se informa con un motivo concreto (retraso de replicación de directorio, permisos insuficientes de Exchange Online en la identidad administrada, un permiso heredado de un grupo o un buzón compartido/sin licencia) y el bucle continúa con el resto.

Cada ejecución termina con una línea de resumen con el formato `Resumen: <changed>, <unchanged>, <failed>, <skipped (sin buzón)>`, seguido de las delegaciones FullAccess resultantes en el buzón.

Si **algún** delegado falla, el propio runbook informa un fallo. Esto es intencionado: con un selector de selección múltiple, un éxito parcial informado como una ejecución correcta ocultaría a los delegados que nunca recibieron acceso.

#### Limitaciones

* **Los permisos heredados no se pueden quitar.** Un permiso FullAccess que proviene de un grupo de roles o de la pertenencia a un grupo de seguridad se muestra como *heredado* pero no se puede revocar aquí; ajuste la pertenencia al grupo o la asignación de rol en su lugar.
* **Solo se administran las concesiones explícitas de tipo Allow.** Una entrada explícita **Deny** en el buzón se muestra por transparencia, pero el runbook nunca añade ni quita una.

#### Requisitos previos

La identidad administrada de la cuenta de Automation se conecta a Exchange Online mediante `Connect-RjRbExchangeOnline` y necesita:

* el `Exchange.ManageAsApp` permiso de aplicación en *Office 365 Exchange Online*, y
* el **Administrador de Exchange** rol (o un rol equivalente de Exchange Online RBAC que incluya `Add-MailboxPermission` y `Remove-MailboxPermission`).

El runbook no realiza llamadas a Microsoft Graph: el selector de usuarios es solo una anotación del lado del portal, por lo que no se requieren permisos de aplicación de Graph.

### Ubicación

Usuario → Correo → Delegar acceso completo

**Nombre completo del runbook**

rjgit-user\_mail\_delegate-full-access

### Detalles

| Propiedad          | Valor                                                                            |
| ------------------ | -------------------------------------------------------------------------------- |
| Versión            | 1.1.2                                                                            |
| Módulos requeridos | <p>RealmJoin.RunbookHelper (>= 0.8.9)<br>ExchangeOnlineManagement (>= 3.9.2)</p> |
| Programable        | no                                                                               |

### Permisos

#### Permisos de aplicación

* **Tipo**: Exchange Online de Office 365
  * Exchange.ManageAsApp
    * *Administra delegaciones de buzón FullAccess en la sesión de Exchange Online solo para aplicaciones*

#### roles RBAC

* Administrador de Exchange
  * *Necesario para la sesión de Exchange Online solo para aplicaciones que administra permisos FullAccess*

### Parámetros

#### Nombre de usuario

Nombre principal de usuario del propietario del buzón.

| Propiedad            | Valor                                                    |
| -------------------- | -------------------------------------------------------- |
| Requerido            | true                                                     |
| Valor predeterminado |                                                          |
| Tipo                 | Cadena                                                   |
| Oculto en el portal  | sí (preestablecido mediante personalización del runbook) |

#### delegateTo

Uno o más usuarios a los que desea conceder o revocar el acceso completo al buzón. Puede seleccionar varios delegados para aplicar la misma acción a todos ellos simultáneamente.

| Propiedad                        | Valor              |
| -------------------------------- | ------------------ |
| Requerido                        | true               |
| Valor predeterminado             |                    |
| Tipo                             | String\[]          |
| Nombre para mostrar en el portal | Delegate access to |

#### Quitar

Si se establece en true, el script eliminará el permiso FullAccess. Si se establece en false, lo concederá.

| Propiedad                        | Valor    |
| -------------------------------- | -------- |
| Requerido                        | falso    |
| Valor predeterminado             | Falso    |
| Tipo                             | Booleano |
| Nombre para mostrar en el portal | Acción   |

**Opciones del portal**

| Opción del portal | Valor |
| ----------------- | ----- |
| Conceder acceso   |       |
| Quitar acceso     |       |

#### AutoMapping

Si se establece en true, Outlook asignará automáticamente el buzón delegado en el cliente de Outlook del delegado. Esta opción solo se aplica al conceder acceso (Remove = false).

| Propiedad            | Valor    |
| -------------------- | -------- |
| Requerido            | falso    |
| Valor predeterminado | Falso    |
| Tipo                 | Booleano |

[Volver a la vista general de la referencia del runbook](/es/automatizacion/runbooks/runbook-references.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/es/automatizacion/runbooks/runbook-references/user/mail/delegate-full-access.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
