Magic Quadrant™ para gerenciamento de acesso privilegiado 2025: Netwrix reconhecida pelo quarto ano consecutivo. Baixe o relatório.

Plataforma
Centro de recursosGuia prático
Como obter o relatório de permissões de caixa de correio do Exchange Online usando PowerShell ou Netwrix Auditor

Como obter o relatório de permissões de caixa de correio do Exchange Online usando PowerShell ou Netwrix Auditor

Netwrix Auditor for Exchange

Execute o Netwrix Auditor → Clique em "Relatórios" → escolha Exchange Online → Relatórios de Estado em Tempo → Escolha "Detalhes de Permissão de Não Proprietário de Caixa de Correio" → clique em "Visualizar".

Image


Solução Nativa

1.
Conecte-se ao Office 365 PowerShell executando o PowerShell ISE como Administrador e executando o seguinte comando:

      Set-ExecutionPolicy RemoteSigned
      

2. Solicite credenciais do Windows PowerShell executando o seguinte comando:

      $Cred = Get-Credential


      

Insira sua conta e senha e depois clique em OK.

3. Crie uma sessão utilizando o seguinte comando, modificando o parâmetro –ConnectionUri com base na localização do seu Exchange Online:

      $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-liveid/ -Credential$Cred -Authentication Basic –AllowRedirection
      

4. Connect to Exchange Online:

      Import-PSSession$Session -DisableNameChecking
      

5. Gere um relatório de permissões de usuário, faça uma das seguintes ações:

  • To get a full summary of users’ permissions, use the following Get-Mailbox command:
      Get-Mailbox -resultsize unlimited | Get-MailboxPermission | Select Identity, User, Deny, AccessRights, IsInherited| Export-Csv -Path "c:\temp\mailboxpermissions.csv" –NoTypeInformation
      
  • Se você precisa de um relatório sobre um usuário específico, use o parâmetro -identity em vez de -resultsize unlimited.
  • Para filtrar usuários com acesso total, use o 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
      
  • Por padrão, você receberá uma lista completa de usuários, incluindo acessos que não são de proprietários. Para obter informações apenas sobre permissões diretas de usuários, use {($_.user -ne "NT AUTHORITY\SELF")} ou {($_.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 visualizar informações sobre permissões de “Enviar Como”, utilize o 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 relatar sobre caixas de correio com a permissão “Enviar em Nome”, use o seguinte 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. Revisão do relatório:

Image

7. Encerre sua sessão utilizando o seguinte comando:

      Remove-PSSession$Session
      

Compartilhar em