lunedì 1 settembre 2014

MS Exchange: Fornire i permessi di Revisore sulla mailbox tramite EMS


In alcuni contesti potrebbe essere necessario abilitare un utente su una casella di posta con permessi limitati, ad esempio in solo lettura.
In questi casi basta fornire i permessi di Revisore (Reviewer) all'utente sull'intera casella di posta o su una singola cartella, permettendone la visualizzazione degli elementi ma non la modifica, la cancellazione o la creazione di nuovi. L'operazione può essere effettuata da Outlook o tramite Exchange Management Shell.
In questo articolo vedremo come effettuare l'operazione tramite EMS.

Il comando utilizzato è il seguente:
Add-MailboxFolderPermission -Identity <mailbox o mailbox:\cartella> -User <utente> AccessRights Reviewer

Vediamo qualche esempio.

Per fornire i permessi su una singola cartella, il primo passo è quello di abilitare l'utente come Revisore sulla cartella Top of Information Store:
Add-MailboxFolderPermission -Identity info@contoso.com:\ -User GLUBRANO -AccessRights Reviewer

I permessi forniti sulla cartella Top of Information Store non vengono ereditati dalle sottocartelle, quindi dobbiamo procedere manualmente all'abilitazione su una specifica cartella. Ad es. per la cartella Posta in arrivo:
Add-MailboxFolderPermission -Identity "info@contoso.com:\posta in arrivo" -User GLUBRANO -AccessRights Reviewer
Nel caso in cui i nomi delle cartelle siano in inglese è necessario sostituire Posta in arrivo con inbox
Add-MailboxFolderPermission -Identity "info@contoso.com:\Inbox" -User GLUBRANO -AccessRights Reviewer

Se invece vogliamo fornire i permessi di revisore sull'intera casella di posta possiamo crearci uno script PS1 che individua le cartelle presenti sulla casella di posta e abilita l'utente come revisore su ciascuna di esse. Allo script vanno ovviamente passati la mailbox e l'utente che si intende abilitare.


param (
 [Parameter( Mandatory=$true)]
 [string]$Mailbox,

 [Parameter( Mandatory=$true)]
 [string]$User
)
Set-AdServerSettings -ViewEntireForest $true 

$exclusions = @("/Recoverable Items",
                "/Deletions",
                "/Purges",
                "/Versions"
                )

ForEach($folder in (Get-MailboxFolderStatistics $Mailbox |select folderpath))
 {
  if ($folder.FolderPath -eq "/Top of Information Store")
  {
   $foldername=$Mailbox;
  }
  else
  {
   $foldername=$Mailbox + ":" + $folder.FolderPath.Replace("/","\"); 
  }
 
  if ($exclusion -notcontains $folder.FolderPath)
  {
   if (Get-MailboxFolderPermission $foldername -User $User)
   {
    Set-MailboxFolderPermission $foldername -User $User -AccessRights Reviewer
   }
   else
   {
       Add-MailboxFolderPermission $foldername -User $User -AccessRights Reviewer
   }
  }
 

 }

Dal link di seguito è possibile scaricare il file PS1
DOWNLOAD

Nessun commento:

Posta un commento

I messaggi sono soggetti a moderazione da parte dell'amministratore prima della loro pubblicazione.