Archives For Microsoft Exchange

Un tempo c’era la modifica del registro di sistema e quella chiave DelegateSentItemsStyle da valorizzare su ogni client provvisto di suite Microsoft Office e uso delle caselle di posta elettronica condivise via Office 365, oggi invece la possibilità di salvare una copia delle mail inviate per conto di una Shared Mailbox si attiva direttamente da interfaccia grafica o –se sei solito utilizzarla– da PowerShell. Diamo un’occhiata rapida alla “novità” (che tanto novità ormai non è più).

Outlook: forzare i nomi delle cartelle in italiano 3

Vecchia scuola (GPO)

Le chiavi di registro sono ancora lì, nessuno le ha più toccate da quando le ho inserite in una Group Policy in grado di pilotare il comportamento di Office dal 2007 al 2016, in attesa che perdano di valore e vengano da me dismesse con il passaggio a Office 2019. Tutto molto semplice e ben spiegato: si scaricavano i file ADM/ADMX relativi a Microsoft Office, quindi si andavano a ritoccare alcune preferenze di Outlook, che gli chiedevano di tenere copia della mail inviata all’interno della casella di posta condivisa anziché quella personale dell’utilizzatore.

Office 365: salvare una copia della Posta Inviata di una Shared Mailbox

La formula utilizzata era sempre la stessa:

Hive HKEY_CURRENT_USER 
Key path Software\Microsoft\Office\12.0\Outlook\Preferences 
Value name DelegateSentItemsStyle 
Value type REG_DWORD 
Value data 0x1 (1)

A cambiare era esclusivamente quel numero di versione corrispondente “all’anno di Office e quindi di Outlook“: 12.0 si traduceva con Office 2007, 14.0 con 2010, 15.0 con 2013 e infine 16.0 con 2016. Una volta propagata, la GPO scriveva quella chiave di registro che gli Outlook installati sui client Windows di dominio trovavano e rispettavano, portando a termine quanto richiesto. Diciamo che il problema del salvare una copia della posta inviata da una casella condivisa è tornato in auge prepotentemente nel momento in cui le macchine con macOS a bordo hanno cominciato ad avere bisogno di utilizzare quelle caselle di posta.

Per tua informazione: la GPO continua a funzionare correttamente, ma è diventata inutile e onerosa rispetto alla modifica lato Exchange del comportamento delle caselle di posta condivisa.

Cosa cambia oggi

Che tu voglia utilizzare la GUI o un prompt di PowerShell, la possibilità di salvare una mail inviata da una casella di posta condivisa al suo stesso interno è ormai cosa semplice. Accedendo infatti all’interfaccia di amministrazione di Office 365 → Gruppi → Cassette postali condivise (almeno questo è il percorso all’interno della GUI in preview), potrai semplicemente aprire la scheda relativa alla casella postale che ti interessa, quindi scegliere il pulsante di modifica in corrispondenza della voce “Posta inviata“, per portarlo alla dicitura “Copiata nella cassetta postale“, come in immagine:

Salvando la modifica, questa sarà immediata e comincerà a tenere copia delle mail inviate nella cartella ad-hoc all’interno della casella di posta condivisa. Obiettivo raggiunto con pochissimi clic rispetto al passato, non legato assolutamente al client (una soluzione quindi perfetta anche per i Mac e per chiunque faccia uso di Shared Mailbox senza un PC in dominio e relativa modifica al registro di Windows), l’ideale sulla carta.

PowerShell

Ciò che chiaramente diventa molto poco ideale è invece la riproducibilità su larga scala, quella fatta di moltissime caselle di posta condivise nate in passato, da migrare a questa novità. Per sopperire la mancanza c’è sempre la via più “rude” ma estremamente più pratica, quella dell’azione via PowerShell. Si fa riferimento a questo argomento in un articolo ospitato su uno dei tanti blog di Technet, lo trovi all’indirizzo blogs.technet.microsoft.com/exchange/2015/03/03/want-more-control-over-sent-items-when-using-shared-mailboxes, io ti faccio giusto il sunto:

  • L’opzione di salvataggio “Copia la posta inviata come questa cassetta postale” corrisponde al parametro -MessageCopyForSentAsEnabled, l’altra (“Copia la posta inviata per conto di questa cassetta postale“, nda) invece al -MessageCopyForSendOnBehalfEnabled. Si tratta di due valori booleani.
  • Partendo da quanto sopra riportato, il valore di entrambi i parametri (che si applicano a un normale Set-Mailbox) potrà assumere valore $true per abilitare l’opzione, $false per disabilitarla.

Il risultato dei due punti si traduce con queste istruzioni d’esempio:

Set-Mailbox sharedmailbox@contoso.com -MessageCopyForSentAsEnabled $True
Set-Mailbox sharedmailbox@contoso.com -MessageCopyForSendOnBehalfEnabled $True

Rispettivamente corrispondenti all’abilitazione della copia mail inviate sia per permessi di SendAs (prima istruzione) che SendOnBehalfTo (la seconda).

Set-Mailbox sharedmailbox@contoso.com -MessageCopyForSentAsEnabled $False
Set-Mailbox sharedmailbox@contoso.com -MessageCopyForSendOnBehalfEnabled $False

Per ottenere l’effetto contrario e non permettere il salvataggio delle mail inviate all’interno della casella di posta condivisa. In questo caso le mail inviate rimarranno nella cartella “Posta inviata” della casella di posta personale dell’utilizzatore (che ha le autorizzazioni per inviare mail a nome della casella condivisa o “per conto di“).

Va da sé che quel parametro può tornare estremamente utile in caso di creazione nuova casella di posta condivisa da PowerShell, ma anche se si volesse lanciare un batch unico per modificare tutte quelle già esistenti in Office 365, pensa a un banale:

Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited | foreach { Set-Mailbox $_.PrimarySmtpAddress -MessageCopyForSentAsEnabled $True -MessageCopyForSendOnBehalfEnabled $True }

Ed è giusto un possibile esempio da poter applicare. Lascio a te ogni commento o diversa proposta che puoi riportare nell’area commenti qui di seguito, subito dopo l’articolo :-)

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Ho avuto la necessità di ricercare la data di ricezione della più vecchia mail all’interno di una casella di posta elettronica. Chiaramente questa cosa è fattibile via Outlook, mettendosi in condizione di vedere tutte le email ricevute (basta un banale filtro impostato nella casella di ricerca, nda) e scorrendo poi fino in fondo alla casella di posta, ammesso però che l’opzione di cache locale non sia impostata con un limite troppo basso (per esempio quello classico da 12 mesi) o che la connessione verso Exchange sia perfetta (nel caso in cui la si consulti direttamente online). Come spesso accade c’è un rapido trucco da adottare via PowerShell per aggirare l’ostacolo e arrivare immediatamente al risultato desiderato.

PowerShell: assegnazione in bulk delle licenze Office 365

Si fa riferimento a questo tipo di operazione nel documento Microsoft relativo al Get-MailboxFolderStatistics, maggiori informazioni si trovano all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/get-mailboxfolderstatistics?view=exchange-ps. Il set di istruzioni è abbastanza semplice, ho raccolto tutto sotto lo stesso tetto e te lo propongo qui di seguito:

Il file PS1 (che ho chiamato OldestMail.ps1) si aspetta che tu da prompt gli aggiunga in coda l’indirizzo di posta elettronica da analizzare ($SourceMailbox) nella modalità .\OldestMail.ps1 mario@contoso.com, essendo il parametro obbligatorio ti verrà comunque richiesto anche nel caso in cui dovessi dimenticare di specificarlo.

Otterrai un risultato molto simile a questo:

PS C:\PS1\PS1> .\tools\OldestMail.ps1 mario.rossi
OldestItemReceivedDate FolderPath
---------------------- ----------
11/12/2017 14:11:49 /Gestite/Assistenza tecnica

Buon lavoro.


fonte: social.technet.microsoft.com/Forums/projectserver/en-US/df23c7cc-faba-43bf-af82-0581925d2b8d/command-to-find-oldest-email-in-mailbox?forum=exchangesvradmin

immagine di copertina: unsplash.com / author: Marius Christensen

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Se sei solito utilizzare più la PowerShell che l’interfaccia grafica di Exchange Online per amministrare utenti e gruppi del tuo tenant, saprai anche che –in una logica che sta da tutt’altra parte rispetto a dove la ricordi tu– Microsoft permette di inserire un utente in un gruppo di distribuzione tramite comando “secco“, ma questo non prevede la possibilità di inserirne altri contemporaneamente a meno di utilizzare l’importazione da CSV, ecco, non è proprio così.

PowerShell: assegnazione in bulk delle licenze Office 365

Ho sempre pensato fosse una cosa molto stupida, e infatti il work-around esiste ed è più semplice del previsto (quasi non te lo aspetti, ma poi ne capisci una logicità tutta Microsoft):

"mario.rossi","gianluca.bianchi","andrea.neri" | Add-DistributionGroupMember -Identity "Nome del gruppo"

Puoi sostituire i nomi degli utenti con i loro rispettivi indirizzi di posta elettronica se preferisci, così come il "Nome del gruppo" al quale puoi sostituire il suo PrimarySMTPAddress. È un po’ come simulare l’importazione dei dati da un CSV dando poi in pasto all’istruzione di aggiunta membro al gruppo quei valori precedentemente passati, e qui si chiude il cerchio.

Buon lavoro.


crediti: serverfault.com/questions/316558/powershell-2-add-multiple-members-to-distribution-group-with-one-call/573622#573622

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Quando si abilita la funzione di Archivio in-place di Microsoft Office 365, l’operazione vera e propria di spostamento delle mail (che rispettano i criteri imposti) richiede generalmente un numero di ore non meglio definito, in base generalmente al carico di lavoro dei server di Microsoft e del tuo tenant. Ci sono casi in cui, però, serve che quell’operazione venga svolta abbastanza rapidamente, per cercare magari di snellire il database principale di posta elettronica, e per fortuna c’è la scappatoia sfruttabile via PowerShell.

PowerShell: assegnazione in bulk delle licenze Office 365

Si fa riferimento a questo tipo di operazione nel documento Microsoft relativo allo Start-ManagedFolderAssistant, il processo che si occupa della migrazione delle mail, puoi trovarlo all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/policy-and-compliance-retention/Start-ManagedFolderAssistant?view=exchange-ps. L’operazione da lanciare è quindi abbastanza semplice. Se hai attivato l’archivio di una casella di posta elettronica (non ha importanza se personale o condivisa), puoi collegarti al tuo Exchange via PowerShell e lanciare:

Start-ManagedFolderAssistant -Identity <Mailbox>

Dovrai solo modificare <Mailbox> con l’indirizzo di posta elettronica sul quale operare (esempio Start-ManagedFolderAssistant -Identity mario@contoso.com).

A questo punto non ti resta che attendere (puoi verificare in qualsiasi momento che il processo venga eseguito tenendo d’occhio la WebMail della casella interessata, noterai che le mail si sposteranno una dopo l’altra in base al criterio impostato sulla singola cartella o sull’intera mailbox).


fonti:
docs.microsoft.com/en-us/powershell/module/exchange/policy-and-compliance-retention/Start-ManagedFolderAssistant?view=exchange-ps
mysysadmintips.com/windows/servers/374-force-archiving-on-hosted-exchange-office-365

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Mi capita di tanto in tanto di imbattermi in vecchie caselle di posta utenti che hanno ancora i nomi delle cartelle in inglese, eredità di una precedente vita su IBM Lotus Domino, oggi non più giustificate su Office 2016 ProPlus interamente installati in italiano. Esistono diversi metodi per riportare alla lingua nostrana quei nomi, un paio di questi sono quelli che generalmente utilizzo (o faccio utilizzare direttamente all’utente finale).

Outlook e Shared Mailbox: Auto-Mapping o più file dati? 1

Partiamo da un presupposto molto semplice: quanto fatto e spiegato in questo articolo è frutto della scoperta dell’acqua calda, tutto è infatti già ben documentato da Microsoft all’indirizzo support.microsoft.com/en-us/help/2826855/folder-names-are-incorrect-or-displayed-in-an-incorrect-language-in-ou. Io mi sono limitato a isolare i due metodi che fino a oggi hanno dato puntualmente risultati (lato utente o lato diretto Exchange in cloud).

Via Outlook

Chiudi Outlook e dallo StartEsegui (su Windows 10 ti basta la combinazione  + R, oppure clic destro su tasto Windows → Esegui) digita il comando Outlook /resetfoldernames, quindi premi invio.

Questo farà partire il client di posta elettronica che, salvo sporadici casi (non rari, ma neanche così normali) effettuerà un reset del nome delle cartelle del tuo account personale (no, niente caselle di posta condivise mappate in automatico, nda), trasformando l’inglese in italiano.

In alternativa, se il /resetfoldernames non dovesse sortire alcun effetto, puoi ripetere il procedimento ma richiamando Outlook /resetfolders.

Via PowerShell

Che poi, come al solito, è il metodo che preferisco perché immediato e valido per qualsiasi casella di posta, anche quelle condivise che nel paragrafo precedente ho specificato essere intoccabili se un Outlook le mappa in maniera automatica. La PowerShell modifica la lingua adottata dalle cartelle di posta elettronica dando retta a un comando “parlante” secondo una tabella di localizzazione sempre aggiornata, disponibile anch’essa in documentazione Microsoft.

Il comando di cui ti parlo è il Set-MailboxRegionalConfiguration, trovi la documentazione all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/client-access/Set-MailboxRegionalConfiguration?view=exchange-ps.

Se ti interessa il succo, questa è la stringa che ho utilizzato da prompt:

Set-MailboxRegionalConfiguration -id mario.rossi@contoso.com -LocalizeDefaultFolderName:$true -Language it-IT

Dovrai semplicemente sostituire mario.rossi@contoso.com con un indirizzo appartenente al tuo tenant, il resto puoi lasciarlo invariato. Trovi la tabella delle lingue disponibili all’indirizzo msdn.microsoft.com/it-it/library/system.globalization.cultureinfo%28vs.71%29.aspx?f=255&MSPPError=-2147217396.

Outlook: forzare i nomi delle cartelle in italiano 4

A comando eseguito non otterrai conferma alcuna, passerai semplicemente a una riga vuota di PowerShell, in attesa che tu dica cos’altro fare. La modifica è immediata e l’utente potrà accorgersene autonomamente dando un’occhiata al suo Outlook.

Buon lavoro.

Condividi l'articolo con i tuoi contatti: