Gestione delle regole di posta in arrivo delle cassette postali di Exchange con PowerShell

()

Gestione delle regole di posta in arrivo delle cassette postali di Exchange con PowerShell

Le regole di Outlook consentono agli utenti di creare condizioni diverse per elaborare i messaggi di posta elettronica in arrivo. È possibile spostare i messaggi di posta elettronica da mittenti specifici che soddisfano determinati criteri in una cartella desiderata, contrassegnare i messaggi di posta elettronica come importanti, inoltrare i messaggi di posta elettronica a un altro utente, ecc. Di solito gli utenti creano e gestiscono le proprie regole nell’interfaccia grafica di Outlook. In Exchange 2010/2013/2016, un amministratore può gestire le regole della posta in arrivo nelle cassette postali degli utenti tramite la console di PowerShell. In questo articolo vedremo come aggiungere, eliminare, disabilitare o modificare le regole della posta in arrivo di Outlook tramite Exchange Management Shell.

Contenuti:
A Regole di Outlook lato client e lato server
Get-InboxRule: come mostrare le regole della posta in arrivo degli utenti nella cassetta postale di Exchange?
B Come cercare le regole della posta in arrivo nelle cassette postali degli utenti?
C Gestione delle regole di posta in arrivo delle cassette postali di Exchange con PowerShell

D Come disabilitare e rimuovere una regola della posta in arrivo di Outlook?

Regole di Outlook lato client e lato server

Un amministratore di Exchange dovrebbe differire tra le regole di Outlook lato client e lato server.

1 Le regole di Outlook lato server funzionano sul lato del server quando si riceve un messaggio di posta elettronica. Funzionano sempre, non importa se l’utente esegue o meno il client Outlook (le regole create utilizzando Outlook Web App sono sempre lato server). Sul lato server Exchange possono essere applicate le seguenti regole: contrassegnare un’e-mail come importante, spostare un’e-mail in un’altra cartella della casella di posta, eliminare un messaggio, inoltrare un’e-mail a un altro indirizzo e-mail;
2 Le regole lato client vengono applicate solo se il client Outlook è stato avviato: ad esempio, per contrassegnare un messaggio di posta elettronica come letto, per spostare un messaggio di posta elettronica in un file PST locale, per visualizzare una notifica o riprodurre un suono. Non è possibile gestire queste regole tramite Exchange PowerShell. Queste regole hanno lo stato “solo client” nell’interfaccia di Outlook.

Get-InboxRule: come mostrare le regole della posta in arrivo degli utenti nella cassetta postale di Exchange?

Per visualizzare l’elenco delle regole nella cassetta postale di Exchange dell’utente, avviare la console EMS ed eseguire questo comando di PowerShell:

Get-InboxRule –Mailbox john.doe

Come puoi vedere, vengono visualizzati il ??nome, lo stato (Enabled: True / False), la priorità e RuleIdentity di ciascuna regola.

È possibile visualizzare le informazioni dettagliate sulla regola di posta in arrivo specifica specificandone il nome:

Get-InboxRule -Mailbox john.doe -Identity “HelpDesk”| fl

Di solito puoi capire il contenuto della regola dalla sua descrizione:

Get-InboxRule -Mailbox john.doe -Identity “HelpDesk “| Select Name, Description | fl

Come cercare le regole della posta in arrivo nelle cassette postali degli utenti?
In alcuni casi, un amministratore deve trovare determinate regole nella cassetta postale di un utente. Ad esempio, devi trovare tutte le regole che eliminano le email:

Get-InboxRule -Mailbox john.doe | ?{ $_.DeleteMessage }

Inoltre, potrebbe esserci uno scenario in cui il dipartimento di sicurezza delle informazioni ti chiede di trovare tutte le regole di inoltro automatico della posta in tutte le caselle di posta degli utenti della tua azienda:

foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ForwardTo} | fl MailboxOwnerID,Name,ForwardTo >> C:\PS\All_Mailbox_Forward_Rules.txt }

Il file di testo risultante conterrà l’elenco delle cassette postali, i nomi delle regole di inoltro e i destinatari a cui vengono inoltrate queste e-mail.

Come creare una regola della posta in arrivo di Outlook utilizzando PowerShell?
È possibile creare una nuova regola per la posta in arrivo di Outlook utilizzando il cmdlet New-InboxRule Exchange. Ad esempio, si desidera inoltrare tutte le e-mail contenenti determinate parole chiave nell’oggetto a un altro utente. Esegui questo comando:

New-InboxRule -Name ZenossAlerttoHelpdesk -Mailbox NYadmin -SubjectContainsWords “Zenoss HW Alert” -ForwardTo “Helpdesk”

Questa regola applicherà la categoria rossa e il livello di importanza più elevato per tutte le email con le parole chiave “Riunione annuale” nell’oggetto da secretary@woshub.com:

New-InboxRule -Mailbox john.doe –name SecretaryRule -From secretary@woshub.com –SubjectContainsWords “Annual meeting” -ApplyCategory {Red Category} -MarkImportance 2

Creiamo una regola che sposti tutte le email con “Casinò” nell’oggetto nella cartella Posta indesiderata per tutti gli utenti nella specifica unità organizzativa di Active Directory.

$mbxs = Get-mailbox -organizationalUnit Managers
$mbxs | % { }
$mbxs | % { New-inboxrule -Name SpamMail -mailbox $_.alias -subjectcontainswords “[casino]” -movetofolder “$($_.alias):Junk Email” }

È possibile visualizzare l’elenco di tutte le proprietà, condizioni e azioni disponibili da utilizzare nelle regole di Exchange come segue:

Get-InboxRule -Mailbox john.doe | get-member

ApplyCategory
BodyContainsWords
CopyToFolder
Cancella il messaggio
Descrizione
Abilitato
FlaggedForAction
ForwardAsAttachmentTo
ForwardTo
A partire dal
FromAddressContainsWords
FromSubscription
HasAttachment
HasClassification
HeaderContainsWords
Identità
In errore
È valido
MailboxOwnerId
Segna come letto
MarkImportance
MessageTypeMatches
Sposta nella cartella
MyNameInCcBox
MyNameInToBox
MyNameInToOrCcBox
MyNameNotInToBox
Priorità
ReceivedAfterDate
ReceivedBeforeDate
RecipientAddressContainsWords
RedirectTo
RuleIdentity
SendTextMessageNotificationTo
SentOnlyToMe
Inviato a
StopProcessingRules
Oggetto Contiene Parole
SubjectOrBodyContainsWords
SupportedByTask
WithImportance
WithinSizeRangeMaximum
WithinSizeRangeMinimum
WithSensitivity

Per modificare una regola di Outlook, utilizza il cmdlet Set-InboxRule , ad esempio:

Set-InboxRule -Mailbox john.doe –identity SecretaryRule -FromAddressContainsWords {gmail.com}

Suggerimento .
La dimensione delle regole in una cassetta postale di Microsoft Exchange è limitata. In Exchange 2003 è di 32 KB e in Exchange 2016/2013/2010 è di 64 KB. Se questo errore viene visualizzato quando si tenta di modificare le regole:
Una o più regole non possono essere caricate sul server Exchange e sono state disattivate. Ciò potrebbe essere dovuto al fatto che alcuni parametri non sono supportati o non c’è spazio sufficiente per memorizzare tutte le regole.
È possibile modificare la quota delle regole (RulesQuota) a 256 KB utilizzando questo comando:

Set-Mailbox -identity john.doe -RulesQuota 256Kb

Come disabilitare e rimuovere una regola della posta in arrivo di Outlook?
Per disabilitare una regola della posta in arrivo di Outlook, inserisci questo comando:

Disable-Inboxrule –Mailbox john.doe -Identity “SecretaryRule”

Allo stesso tempo il suo stato (Abilitato) viene modificato in Falso e non viene più applicato ai messaggi di posta elettronica in arrivo.

Per rimuovere completamente una regola della posta in arrivo, esegui questo comando:

Remove-Inboxrule –Mailbox john.doe -Identity SecretaryRule

Il comando ti chiederà di confermarlo e devi solo premere Y. Per rimuovere tutte le regole in una casella di posta utente, esegui quanto segue:

Get-inboxrule -mailbox john.doe | disable-inboxrule

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?