Il cmdlet per fornire i permessi in full access ad un utente su una casella di posta è Add-MailboxPermission.
La sintassi è la seguente:
Add-MailboxPermission <mailbox_da_condividere> -AccessRights FullAccess -user <utente_da_delegare>
ad es.
Add-MailboxPermission info@contoso.com -AccessRights FullAccess -user giovanni.lubrano@contoso.com
Add-MailboxPermission info@contoso.com -AccessRights FullAccess -user GLUBRANO
Al posto dell'indirizzo di posta primario è possibile utilizzare l'alias, il Distinguished Name (DN), dominio\account oppure l'Immutable ID.
AutoMapping
A partire da Exchange Server 2010 SP1 è stata introdotta una nuova funzionalità che consente ai client Outlook 2007 e successivi, tramite il servizio di individuazione automatica, di agganciare automaticamente le caselle di posta su cui l'utente è abilitato in Full-Access. Tale funzionalità è chiamata AutoMapping. Ciò può semplificare la vita all'utente che non deve configurarsi manualmente le caselle di posta condivise, tuttavia, se l'utente è abilitato in Full-Access ad un numero elevato di caselle, potrebbe comportarte un problema di prestazioni di Outlook. In Exchange 2010 SP1 non è in alcun modo possibile disattivare questa funzionalità mentre in Exchange 2010 SP2 è possibile disabilitarla utilizzando la shell.
Utilizzando l'opzione -AutoMapping con il cmdlet Add-MailboxPermission in EMS è possibile forzare l'abilitazione/disabilitazione di tale funzionalità quando deleghiamo un utente in full access su una casella di posta.
Per disabilitare l'AutoMapping
Add-MailboxPermission <mailbox_da_condividere> -AccessRights FullAccess -user <utente_da_delegare> -AutoMapping $FALSE
Per abilitare nuovamente l'automapping
Add-MailboxPermission <mailbox_da_condividere> -AccessRights FullAccess -user <utente_da_delegare> -AutoMapping $TRUE
Quando si forniscono i permessi in Full-Access su una casella con l'AutoMapping attivato, Exchange provvede:
- a popolare l'attributo msExchDelegateListLink in Active Directory sull'account della casella condivisa (viene aggiunto l'utente delegato);
- a popolare l'attributo MsExchDelegateListBL in AD sull'account dell'utente delegato. L'attributo contiene la casella di posta su cui l'utente è stato abilitato in full-access con AutoMapping attivo. Outlook interroga tale attributo per auto-configurare la casella di posta condivisa.
Tale processo funziona perfettamente nel caso di permessi assegnati individualmente agli utenti ma in molte aziende l'assegnazione di permessi viene gestita tramite gruppi e in questi casi l'AutoMapping non funziona. Quando un gruppo viene delegato in Full-Access su una casella i permessi vengono ereditati anche dai membri ma l'attributo msExchDelegateListBL viene modificato solo al gruppo e non ai suoi membri.
Un workaround a questo tipo di problema è quello di crearsi uno script che, passati come parametri la casella di posta e il gruppo, fornisce i permessi Full-Access a tutti gli utenti appartenenti al gruppo. Nel caso un utente venga aggiunto successivamente al gruppo in AD possiamo rieseguire lo script oppure abilitare singolarmente l'AutoMapping all'utente con il cmdlet Add-MailboxPermission e il paramentro -AutoMapping $True.
Se vogliamo abilitare più utenti in Full-Access su una casella di posta possiamo avvalerci di uno script. Lo script che illustrerò di seguito (Add-FullAccess.ps1) accetta come parametri la casella di posta da condividere e un file CSV contenente l'elenco degli utenti da abilitare in Full-Access sulla casella. Nello script viene forzata la disabilitazione dell'AutoMapping. Rimuovendo il parametro -AutoMapping $False o passandogli il valore $True, l'AutoMapping verrà attivato. Ovviamente è possibile modificare lo script in modo tale che possiamo decidere se abilitare o meno l'AutoMapping in base ad un apposito parametro passato nella chiamata allo stesso.
Esempio di utilizzo dello script:
c:\scripts\Add-FullAccess.ps1 info@contoso.com c:\scripts\elenco.csv
param($Arg1,$Arg2)
Set-AdServerSettings -ViewEntireForest $true
$csv = Import-Csv $Arg2 -Header @("UserToEnable")
foreach ($line in $csv) {
Add-MailboxPermission $Arg1 -AccessRights FullAccess -user $line.UserToEnable -AutoMapping $False
}
ad es.
c:\scripts\Add-FullAccessGroup.ps1 info@contoso.com GruppoAD
param($Arg1,$Arg2) Set-AdServerSettings -ViewEntireForest $true $DL = Get-distributiongroupmember $Arg2 | Select-Object -ExpandProperty Name foreach ($MEMBER in $DL ) { Add-MailboxPermission $Arg1 -AccessRights FullAccess -User $MEMBER -AutoMapping $True }