Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseGuida pratica
Come ottenere il report dei permessi delle caselle di posta di Exchange Online utilizzando PowerShell o Netwrix Auditor

Come ottenere il report dei permessi delle caselle di posta di Exchange Online utilizzando PowerShell o Netwrix Auditor

Netwrix Auditor for Exchange

Esegui Netwrix Auditor → Clicca su "Reports" → scegli Exchange Online → State-in-Time Reports → Scegli "Dettagli dei permessi di Mailbox Non-Owner" → clicca su "Visualizza".

Image


Soluzione Nativa

1.
Connettiti a Office 365 PowerShell eseguendo PowerShell ISE come amministratore ed eseguendo il seguente comando:

      Set-ExecutionPolicy RemoteSigned
      

2. Richiedi le credenziali di Windows PowerShell eseguendo il seguente comando:

      $Cred = Get-Credential


      

Inserisci il tuo account e la password e poi clicca su OK.

3. Crea una sessione utilizzando il seguente comando, modificando il parametro –ConnectionUri in base alla posizione del tuo Exchange Online:

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

4. Connettiti a Exchange Online:

      Import-PSSession$Session -DisableNameChecking
      

5. Genera un rapporto sui permessi degli utenti, esegui una delle seguenti operazioni:

  • Per ottenere un riepilogo completo dei permessi degli utenti, utilizza il seguente comando Get-Mailbox:
      Get-Mailbox -resultsize unlimited | Get-MailboxPermission | Select Identity, User, Deny, AccessRights, IsInherited| Export-Csv -Path "c:\temp\mailboxpermissions.csv" –NoTypeInformation
      
  • Se hai bisogno di un rapporto su un utente specifico, usa il parametro -identity invece di -resultsize unlimited.
  • Per filtrare gli utenti che hanno l'accesso completo, utilizzare il parametro 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
      
  • Per impostazione predefinita, otterrai un elenco completo degli utenti, inclusi gli accessi non proprietari. Per ottenere informazioni solo sulle autorizzazioni degli utenti diretti, utilizza o {($_.user -ne "NT AUTHORITY\SELF")} oppure {($_.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
      
  • Per visualizzare informazioni sui permessi “Send As”, utilizza il 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
      
  • Per segnalare le caselle di posta con il permesso “Send on Behalf”, utilizzare lo script seguente:
      $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. Esaminare il rapporto:

Image

7. Termina la tua sessione utilizzando il seguente comando:

      Remove-PSSession$Session
      

Condividi su