Cómo obtener el informe de permisos de buzones de Exchange Online utilizando PowerShell o Netwrix Auditor
Netwrix Auditor for Exchange
Ejecute Netwrix Auditor → Haga clic en "Informes" → elija Exchange Online → Informes de Estado en el Tiempo → Elija "Detalles de permisos de buzón no propietario" → haga clic en "Ver".
Solución Nativa
1. Conéctese a Office 365 PowerShell ejecutando el ISE de PowerShell como Administrador y ejecutando el siguiente comando:
Set-ExecutionPolicy RemoteSigned
2. Solicite credenciales de Windows PowerShell ejecutando el siguiente comando:
$Cred = Get-Credential
Ingrese su cuenta y contraseña y luego haga clic en OK.
3. Cree una sesión utilizando el siguiente comando, modificando el parámetro –ConnectionUri en función de la ubicación de su Exchange Online:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-liveid/ -Credential$Cred -Authentication Basic –AllowRedirection
4. Conéctese a Exchange Online:
Import-PSSession$Session -DisableNameChecking
5. Genere un informe de permisos de usuario, haga uno de los siguientes:
- Para obtener un resumen completo de los permisos de los usuarios, utilice el siguiente comando Get-Mailbox:
Get-Mailbox -resultsize unlimited | Get-MailboxPermission | Select Identity, User, Deny, AccessRights, IsInherited| Export-Csv -Path "c:\temp\mailboxpermissions.csv" –NoTypeInformation
- Si necesita un informe sobre un usuario específico, utilice el parámetro -identity en lugar de -resultsize unlimited.
- Para filtrar usuarios con acceso completo, utilice el parámetro where {($_.accessrights -contains "FullAccess")}:
Get-Mailbox -resultsize unlimited | Get-MailboxPermission| where {($_.accessrights -contains "Fullaccess")} | Select AccessRights,Deny,InheritanceType,User,Identity,IsInherited | Export-Csv -Path "c:\temp\fullaccess.csv" -NoTypeInformation
- De forma predeterminada, obtendrás una lista completa de usuarios, incluyendo accesos que no son de propietarios. Para obtener información solo sobre los permisos directos de los usuarios, utiliza {($_.user -ne "NT AUTHORITY\SELF")} o {($_.user -like '*@*')}:
Get-Mailbox -resultsize unlimited | Get-MailboxPermission | Select Identity, User, Deny, AccessRights, IsInherited| Where {($_.user -ne "NT AUTHORITY\SELF")}| Export-Csv -Path "c:\temp\NonOwnerPermissions.csv" -NoTypeInformation
- Para ver información sobre los permisos “Send As”, utilice el cmdlet Get-RecipientPermission:
Get-Mailbox -resultsize unlimited | Get-RecipientPermission| where {($_.trustee -ne "NT AUTHORITY\SELF")}|select Identity,Trustee,AccessControlType,AccessRights,IsInherited | Export-Csv -Path "c:\temp\sendaspermissions.csv" –NoTypeInformation
- Para informar sobre los buzones con permiso de “Enviar en nombre de”, utilice el siguiente script:
$GrantSendOn= Get-Mailbox-resultsize unlimited| where {($_.GrantSendOnBehalfTo -ne "")}
$Out=foreach ($user in $GrantSendOn.GrantSendOnBehalfTo) {
$obj= New-Object System.Object
$obj|Add-MemberNoteProperty eMail$GrantSendOn.WindowsEmailAddress
$obj|Add-Member NoteProperty DisplayName $GrantSendOn.DisplayName
$obj|Add-Member NoteProperty User $user
$obj }
$Out| Export-Csv -Path "c:\temp\sendonbehalfpermissions.csv" –NoTypeInformation
6. Revisar informe:
7. Finalice su sesión utilizando el siguiente comando:
Remove-PSSession$Session
Compartir en