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".
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:
7. Encerre sua sessão utilizando o seguinte comando:
Remove-PSSession$Session
Compartilhar em