Ver permisos efectivos

Se aplica a: Exchange Server 2013

Los permisos en Microsoft Exchange Server 2013 se otorgan mediante funciones de administración que se asignan a grupos de funciones de administración, directivas de asignación de funciones de administración, grupos de seguridad universal o directamente a usuarios. Se conceden permisos a los usuarios si pertenecen a los grupos de funciones o a los grupos de seguridad universal, o tienen asignadas funciones de asignación de funciones.

La mayoría de los permisos se conceden según la pertenencia a grupos de funciones o a la asignación de directivas de asignación a usuarios finales. Si bien el uso de los grupos de funciones y las directivas de asignación facilitan la concesión de permisos a grandes cantidades de usuarios, quizá no se pueda saber quién es miembro de un grupo de funciones o a quién se ha asignado una directiva de asignación. Aquí es donde el modificador GetEffectiveUsers en el cmdlet Get-ManagementRoleAssignment es útil. Muestra los usuarios a los que se ha concedido los permisos conforme a una función de administración en los grupos de funciones, las directivas de asignación y los grupos de seguridad universal a los que se han asignado.

El modificador GetEffectiveUsers se usa con el cmdlet Get-ManagementRoleAssignment cuando se usa el parámetro Role . Si este modificador se especifica con una determinada función, el cmdlet Get-ManagementRoleAssignment examina todos los elementos asignados a la función, por ejemplo grupos de funciones, directivas de asignación y grupos de seguridad universal, y obtiene los miembros de todos ellos.

Nota:

El modificador GetEffectiveUser no enumera los usuarios que son miembros de un grupo de roles externo vinculado. En vez de generar una lista de usuarios, si se encuentra un grupo de funciones vinculado, se muestra Todos los miembros del grupo vinculados. Para obtener más información acerca de permisos en varios bosques, consulte Descripción de permisos de bosques múltiples.

Para obtener más información acerca de funciones de administración, grupos de funciones y directivas de asignación, consulte Descripción del control de acceso basado en funciones. Para obtener más información acerca de asignaciones de funciones de administración, consulte Descripción de las asignaciones de funciones de administración.

¿Busca otras tareas de administración relacionadas con los permisos de administración? Consulte Permisos.

¿Qué necesita saber antes de empezar?

  • Tiempo estimado para completar cada procedimiento: 5 minutos

  • Deberá tener asignados permisos antes de poder llevar a cabo este procedimiento o procedimientos. Para ver qué permisos necesita, consulte elLas entradas "Grupos de funciones" o "Directiva de asignación de funciones" en el tema Permisos de administración de roles.

  • Los procedimientos de este tema sólo pueden realizarse en el Shell. No puede usar el Centro de administración de Exchange (EAC) para ver los permisos efectivos.

  • Para obtener información acerca de los métodos abreviados de teclado aplicables a los procedimientos de este tema, consulte Métodos abreviados de teclado en el Centro de administración de Exchange.

Sugerencia

¿Problemas? Solicite ayuda en los foros de Exchange. Visite los foros en Exchange Server.

Uso del Shell para obtener una lista de todos los usuarios reales

Para obtener una lista de todos los usuarios a los que una función de administración ha concedido permisos, use la sintaxis siguiente.

Get-ManagementRoleAssignment -Role <role name> -GetEffectiveUsers

En este ejemplo, aparecen todos los usuarios a los que la función Destinatarios de correo ha concedido permiso.

Get-ManagementRoleAssignment -Role "Mail Recipients" -GetEffectiveUsers

Si desea modificar las propiedades que aparecen en la lista o exportar la lista a un archivo con valores separados por comas (CSV), consulte Uso del Shell para personalizar el resultado y mostrarlo más adelante en este tema.

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Get-ManagementRoleAssignment.

Uso del Shell para buscar un determinado usuario en una función

Para buscar un usuario concreto al que una función de administración haya concedido permiso, use el cmdlet Get-ManagementRoleAssignment para obtener una lista de todos los usuarios reales; a continuación, canalice el resultado del cmdlet al cmdlet Where. El cmdlet Where filtra el resultado y devuelve únicamente el usuario que se ha especificado. Use la siguiente sintaxis.

Get-ManagementRoleAssignment -Role <role name> -GetEffectiveUsers | Where {$_.EffectiveUserName -Eq "<name of user>"}

En este ejemplo, se busca al usuario David Strome en la función Registro en diario.

Get-ManagementRoleAssignment -Role Journaling -GetEffectiveUsers | Where {$_.EffectiveUserName -Eq "David Strome"}

Si desea modificar las propiedades que se devuelven en la lista o exportar la lista a un archivo .csv, consulte Uso del Shell para personalizar el resultado y mostrarlo más adelante en este tema.

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Get-ManagementRoleAssignment.

Uso del Shell para buscar un determinado usuario en todas las funciones

Para saber todas las funciones de las que recibe permisos un usuario, use el cmdlet Get-ManagementRoleAssignment para obtener una lista de todos los usuarios reales; a continuación, canalice el resultado del cmdlet al cmdlet Where. El cmdlet Where filtra el resultado y devuelve únicamente las asignaciones de función que conceden los permisos de usuario.

Get-ManagementRoleAssignment -GetEffectiveUsers | Where {$_.EffectiveUserName -Eq "<name of user>"}

En este ejemplo, se buscan todas las asignaciones de funciones que conceden permisos al usuario Kim Akers.

Get-ManagementRoleAssignment -GetEffectiveUsers | Where {$_.EffectiveUserName -Eq "Kim Akers"}

Si desea modificar las propiedades que se devuelven en la lista o exportar la lista a un archivo CSV, consulte Uso del Shell para personalizar el resultado y mostrarlo más adelante en este tema.

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Get-ManagementRoleAssignment.

Uso del Shell para personalizar el resultado y mostrarlo

Es posible que el resultado del cmdlet Get-ManagementRoleAssignment no proporcione la información que esperaba. El resultado del cmdlet contiene muchas más propiedades a las que puede tener acceso. A continuación se presentan algunas de las propiedades que podrían ser útiles:

  • EffectiveUserName: nombre del usuario.

  • Rol: rol que concede los permisos.

  • RoleAssigneeName: grupo de roles, directiva de asignación o USG asignado al rol y que contiene el usuario en la EffectiveUserName propiedad .

  • RoleAssigneeType: indica si la asignación de roles se realiza a un grupo de roles, a una directiva de asignación, a un USG o a un usuario.

  • AssignmentMethod: indica si la asignación entre el rol y el asignador de roles es directa o indirecta.

  • CustomRecipientWriteScope: indica el ámbito de escritura del destinatario personalizado, si existe, que se aplicó a la asignación de roles cuando se creó. El ámbito especificado en esta propiedad invalida el ámbito de escritura de destinatario implícito especificado en la RecipientWriteScope propiedad .

  • CustomConfigWriteScope: indica el ámbito de escritura de configuración personalizada, si existe, que se aplicó a la asignación de roles cuando se creó. El ámbito especificado en esta propiedad invalida el ámbito de escritura de configuración implícita especificado en la ConfigWriteScope propiedad .

  • RecipientReadScope: indica el ámbito de lectura del destinatario implícito que se aplica al rol.

  • RecipientWriteScope: indica el ámbito de escritura del destinatario implícito que se aplica al rol.

  • ConfigReadScope: indica el ámbito de lectura de configuración implícita que se aplica al rol.

  • ConfigWriteScope: indica el ámbito de escritura de configuración implícita que se aplica al rol.

Para seleccionar las propiedades que desea mostrar en la lista, prácticamente se usan los mismos comandos de las secciones Uso del Shell para obtener una lista de todos los usuarios reales, Uso del Shell para buscar un determinado usuario en una función y Uso del Shell para buscar un determinado usuario en todas las funciones. La diferencia estriba en que los resultados de los comandos se canalizan a los cmdlets Format-Table o Select-Object. El cmdlet Format-Table es útil para visualizar la lista de resultados en la pantalla. El cmdlet Select-Object es útil para visualizar la lista de resultados en un archivo .csv.

Los dos cmdlets permiten especificar las propiedades que desea ver y su orden de aparición. El cmdlet Format-Table brinda más opciones si se visualizan los resultados en una pantalla; por su parte, el cmdlet Select-Object no modifica para nada los resultados, cosa que resulta útil al canalizar la lista a un archivo .csv.

Para obtener más información sobre los cmdlets Format-Table y Select-Object, consulte Trabajar con salidas de comandos.

Obtención en pantalla de una lista personalizada

  1. Elija la información que desea ver y busque el comando relacionado a través de uno de los siguientes procedimientos:

    • Uso del Shell para obtener una lista de todos los usuarios reales

    • Uso del shell para buscar un rol de usuario específico

    • Uso del Shell para buscar un determinado usuario en todas las funciones

  2. Elija las propiedades que desee ver en la lista.

  3. Use la sintaxis siguiente para ver la lista.

    <command to retrieve list > | Format-Table <property 1>, <property 2>, <property ...>
    

En este ejemplo se busca al usuario David Strome en todos los roles y se muestran las EffectiveUserNamepropiedades , Role, CustomRecipientWriteScopey CustomConfigWriteScope .

Get-ManagementRoleAssignment -GetEffectiveUsers | Where {$_.EffectiveUserName -Eq "David Strome"} | Format-Table EffectiveUserName, Role, CustomRecipientWriteScope, CustomConfigWriteScope

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Get-ManagementRoleAssignment.

Obtención de una lista personalizada en un archivo .csv

Para exportar una lista a un archivo .cvs, se necesita canalizar el resultado del comando Get-ManagementRoleAssignment del pertinente procedimiento mencionado anteriormente al cmdlet Select-Object. A continuación, el resultado del cmdlet Select-Object se canaliza al cmdlet Export-CSV, que guarda el resultado en formato .csv en un archivo con el nombre que desee asignarle.

  1. Elija la información que desea ver y busque el comando relacionado a través de uno de los siguientes procedimientos:

    • Uso del Shell para obtener una lista de todos los usuarios reales

    • Uso del shell para buscar un rol de usuario específico

      • Uso del Shell para buscar un determinado usuario en todas las funciones
  2. Elija las propiedades que desee ver en la lista.

  3. Use la sintaxis siguiente para exportar la lista a un archivo .csv.

    <command to retrieve list > | Select-Object <property 1>, <property 2>, <property ...> | Export-CSV <filename>
    

En este ejemplo se busca al usuario David Strome en todos los roles y se muestran las EffectiveUserNamepropiedades , Role, CustomRecipientWriteScopey CustomConfigWriteScope .

Get-ManagementRoleAssignment -GetEffectiveUsers | Where {$_.EffectiveUserName -Eq "David Strome"} | Select-Object EffectiveUserName, Role, CustomRecipientWriteScope, CustomConfigWriteScope | Export-CSV c:\output.csv

El archivo .csv ya puede verse en el visor que elija.

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Get-ManagementRoleAssignment.