Gestione delle regole di Outlook degli utenti da Exchange Management Shell (con PowerShell)

Le regole di Outlook aiutano gli utenti a organizzare le loro caselle di posta. Grazie a loro, setacciare lo spam da messaggi importanti può essere più automatico e le caselle di posta degli utenti possono sembrare meno caotiche. Questo è il lato positivo delle regole di Outlook. Il lato meno positivo è che gli utenti dipendono molto da loro e ogni volta che c’è un problema riguardante le regole, gli amministratori si trovano nell’occhio del ciclone. È possibile mantenere la calma, però, come vi mostrerò come gestire le regole di Outlook degli utenti utilizzando PowerShell. Ma prima, devi conoscere la differenza tra i due tipi di tali regole, per imparare cosa puoi fare con PowerShell e cosa richiede un intervento diretto nei client di posta elettronica degli utenti.

Regole lato server rispetto alle regole lato client

Le regole di Outlook possono essere lato server o lato client. Comprendere le differenze tra di loro è fondamentale per un amministratore, in quanto il tipo determina quando vengono eseguiti e quali cmdlet possono essere utilizzati per gestirli.

  • Regole lato server: la loro esecuzione viene eseguita interamente dal server Exchange. Vengono applicati anche quando il client Outlook dell’utente è offline. È possibile utilizzare tutti i cmdlet elencati nell’ulteriore parte dell’articolo. Tieni presente che le regole create nell’app Web di Outlook sono sempre lato server. Possibili usi di queste regole di Outlook includono:
  1. Modificare la priorità di un’e-mail,
  2. Spostare un messaggio in arrivo in un’altra cartella,
  3. Eliminare un’e-mail.
  • Regole lato client: tali regole vengono eseguite solo quando Outlook è online e l’utente ha effettuato l’accesso. Non funzionerà se si accede a un’e-mail da un client di posta elettronica diverso o da un dispositivo mobile. Che cosa è più, è impossibile utilizzare PowerShell per creare o modificare con Nuova-InboxRule e Set-InboxRule Utilizzando regole lato client, è possibile che Outlook ad esempio:
  1. Spostare i messaggi in un file PST,
  2. Riprodurre un suono quando la posta da un certo indirizzo e-mail arriva
  3. Contrassegnare un messaggio come letto

Per verificare se una regola è lato Server o lato Client, è possibile utilizzare Gestione Regole & Avvisi finestra di Outlook. Le regole lato client hanno (solo client) testo aggiunto al loro nome, mentre le regole del server non lo fanno:

Gestione delle regole e degli avvisi di Outlook

Questa finestra di Outlook è l’unico luogo in cui è possibile controllare con certezza il tipo di regola di Outlook. Non esiste un modo certo per determinarlo nella Shell di Exchange Management. È vero che, di solito, le regole lato client hanno una descrizione più breve in EMS, come mostrato nell’ulteriore parte dell’articolo, ma non è certo un modo infallibile per determinare un tipo di regola.

Gestione delle regole di Outlook con PowerShell

A partire da Exchange Server 2010, Microsoft ha dato la possibilità di utilizzare PowerShell per la gestione remota delle regole di Outlook. I cmdlet utilizzati a tale scopo sono i seguenti:

  • Get-InboxRule, la quale prevede le regole per una cassetta postale specificata,
  • Nuovo-InboxRule, che crea una nuova regola in remoto,
  • Enable-InboxRule e Disattivare-InboxRule utilizzato per attivare e disattivare le regole,
  • Set-InboxRule, che modifica le regole,
  • Rimuovere-InboxRule, che può essere utilizzato per eliminare le regole

Mente che il successo di esecuzione di qualsiasi cmdlet dall’elenco di cui sopra (a parte Get-InboxRule), rimuove tutti i client-side regole create in Outlook per un utente (fare Riferimento a questo docs sito per ulteriori informazioni).

Get-InboxRule

Questo cmdlet viene utilizzato principalmente per visualizzare in anteprima tutte le regole impostate per una casella di posta specifica. Nella sua forma di base sembra che:

Get-InboxRule -Mailbox <mailbox_name>

Gestione delle regole di Outlook Get-InboxRule rule list

Come puoi vedere, ogni regola ha il proprio parametro RuleIdentity distinto. Questo parametro può essere utilizzato per visualizzare le impostazioni e la descrizione, in questo modo:

Get-InboxRule –Mailbox <mailbox_name> -Identity <number> | FL

la Gestione di Outlook regole-InboxRule descrizione della regola

Tuttavia, è molto più facile e più efficiente per la ricerca e visualizzare le regole di Outlook con il loro nome e la descrizione:

Get-InboxRule –Mailbox <mailbox_user> | Select Name, Description | FL

Get-InboxRule elenco di regole di nome descrizione

Qui si può vedere la differenza tra server-side e client-side regole, detto prima: In PowerShell, la descrizione del primo è completa, mentre la descrizione di quest’ultimo è molto più breve, mostrando solo le condizioni della regola:

Outlook:

Get-InboxRule regole lato server vs lato client outlook

Exchange Management Shell:

Get-InboxRule regole lato server vs client-side Gestione di Outlook regole

Nuovo-InboxRule

Questo cmdlet consente a un amministratore di Exchange Server creare una regola sul lato server in remoto. Non può essere utilizzato per creare una regola lato client. In altre parole, è possibile impostare tale regola solo utilizzando il client Outlook di un utente.

Mostrerò come creare due regole diverse usando questo cmdlet.

Il seguente cmdlet crea una regola che sposta i messaggi che contengono la parola “spam” nell’oggetto nella cartella Posta indesiderata:

New-InboxRule -Name "Move to Spam" -Mailbox j.doe -MoveToFolder '[email protected]:\Junk Email' -SubjectContainsWords "Spam" -StopProcessingRules $True

New-Regola InboxRule sposta su spam

Tieni presente che puoi combinarlo con una regola del flusso di posta che aggiunge la parola “spam” all’oggetto dell’e-mail quando si soddisfano determinate condizioni.

Il cmdlet successivo genera una regola che sposta le email ricevute prima del 15 aprile 2017, dalla Posta in arrivo alla sottocartella Archivio:

New-InboxRule -Name "To archive" -Mailbox [email protected] -MoveToFolder "[email protected]:\Inbox\Archive" -ReceivedBeforeDate "04.15.2017"

Nuovo-InboxRule regola sposta in archivio

Enable-InboxRule, Disattivare-InboxRule,

Si possono usare per girare regole di Outlook on e off

È possibile controllare le regole sono abilitata tramite Get-InboxRule:

Get-InboxRule –Mailbox <mailbox_name>

Get-InboxRule regola elenco abilitato

Disattivazione e attivazione di una regola che funziona allo stesso modo:

Disable-InboxRule -Identity <rule_name> -Mailbox <mailbox_name>

la Gestione di Outlook regole di Disattivare-InboxRule 1

Enable-InboxRule -Identity <rule_name> -Mailbox <mailbox_name>

la Gestione di Outlook regole Enable-InboxRule 1

Set-InboxRule

Questo cmdlet consente di modificare qualsiasi regola lato server. È buona norma controllare la descrizione dettagliata della regola che si desidera modificare. Puoi farlo con il cmdlet Get-InboxRule descritto in precedenza:

Get-InboxRule –Identity <rule_name> Mailbox <mailbox_user> | Select Name, Description | FL

Get-InboxRule il controllo della regola di nome descrizione

proviamo a cambiare le sue condizioni in modo che reagisce alla parola “spam”, incluso nel corpo della mail, invece che con il suo soggetto:

Set-InboxRule -Identity <rule_name> -Mailbox <mailbox_name> -BodyContainsWords "spam" -SubjectContainsWords $nule

Set-InboxRule cambia l'oggetto corpo

Rimuovere-InboxRule

L’ultimo cmdlet sottrae a qualsiasi regola specifica di una cassetta postale.

Remove-InboxRule -Identity <rule_name> -Mailbox <mailbox_name>

Gestione delle regole di Outlook Remove-InboxRule

Problemi comuni con le regole di Outlook

Le regole di Outlook offrono agli utenti la possibilità di controllare e organizzare il contenuto delle cassette postali. Allo stesso tempo, tali regole generano problemi con i messaggi. Di seguito sono riportati i problemi più comuni che gli amministratori di Exchange Server incontrano:

Conflitto di regole

I conflitti di solito si verificano quando più di una regola si applica a un’e-mail in arrivo. Ad esempio:

John riceve un messaggio da Tony con l’oggetto Importante. Outlook di John ha due regole che si applicano a questa e-mail. Il primo dovrebbe spostare tutti i messaggi da Tony alla sottocartella Co-workers. La seconda regola dovrebbe spostare le e-mail con l’oggetto Importante nella sottocartella E-mail importanti.

Se entrambe le regole sono del tipo lato client, verranno eseguite in base alla priorità che hanno (puoi controllare la priorità delle regole usando Get-InboxRule-Mailbox <mailbox_name>). In questa situazione, il messaggio di Tony andrà alla sottocartella Co-workers e la seconda regola non verrà applicata a causa del conflitto.

Ma il vero problema inizia quando le regole lato server e lato client si mescolano. Quando il client Outlook è offline, le regole lato server verranno eseguite per prime, anche se hanno una priorità inferiore. Torniamo all’esempio sopra. Se la prima regola è lato client e la seconda è lato server, il messaggio verrà spostato in cartelle diverse, a seconda che il client sia in esecuzione o meno.

Regole di inoltro

La possibilità di creare tali regole spesso porta a messaggi di posta elettronica duplicati, mancanti o indirizzati a un destinatario sbagliato. Tale problema può verificarsi se un utente dimentica che prima di andare in vacanza impostano una regola che inoltra la loro corrispondenza a qualcun altro (e succede molto).

È possibile risolvere tali problemi utilizzando i registri dal cmdlet Get-MessageTracingLog. Puoi trovare tali anomalie cercando la voce MAILBOXRULE sotto l’intestazione Source:

Gestione delle regole di Outlook Get-MessageTrackingLog

Quindi è possibile filtrare questo evento MAILBOXRULE:

Gestione di Outlook regole-MessageTrackingLog dettagli

E, infine, utilizzare Get-InboxRule regola per imparare la cui Regola è responsabile per il rilascio:

la Gestione di Outlook regole-MessageTrackingLog anomalia

Regole di Outlook in una società

Oltre ad aiutare i singoli utenti, le regole di Outlook può essere utilizzato anche per organizzare il flusso di lavoro di una società intera. Ad esempio, è possibile creare in remoto sottocartelle nelle cartelle Posta in arrivo degli utenti e quindi creare una regola che sposta le e-mail da un’applicazione aziendale interna alle cartelle appena create. Aiuterà a mantenere la corrispondenza ben organizzata in tutta un’intera azienda.

In primo luogo, è possibile utilizzare uno script basato su EWS per creare cartelle nelle caselle di posta degli utenti.

Successivamente, usando New-InboxRule, puoi creare una regola che sposterà i messaggi di tua scelta nelle sottocartelle appena create.

Si noti che questo è un singolo esempio di come le regole di Outlook possono essere utilizzate in un’azienda.

Senza dubbio, le regole di Outlook possono tornare utili in molte situazioni. Allo stesso tempo, gestirli insieme alle regole del flusso di posta può essere piuttosto travolgente dal punto di vista di un amministratore di Exchange Server. In alcuni casi, una moltitudine di tali regole può causare un grave disturbo nel flusso di posta della società. Per semplificare il lavoro di un amministratore, puoi utilizzare Exchange Rules Pro. Una delle sue molte caratteristiche è che aiuta a gestire le regole di trasporto e garantire che il flusso di posta non sia disturbato.

Write a Comment

Il tuo indirizzo email non sarà pubblicato.