Outlook: creare regole server‑side per mailbox condivisa (OWA e PowerShell)

Ecco come creare regole server‑side in una mailbox condivisa di Microsoft 365 che valgono per tutti gli utenti: il percorso rapido con Outlook sul Web (OWA) e quello scalabile con Exchange Online PowerShell, con istruzioni passo‑passo, esempi, buone pratiche e troubleshooting.

Indice

Perché le regole della mailbox condivisa devono essere server‑side

Una cassetta postale condivisa vive su Exchange Online e viene aperta da più persone, spesso da postazioni e dispositivi diversi (Outlook per Windows o Mac, OWA, mobile). Perché i messaggi vengano spostati automaticamente in cartelle specifiche per tutti, le regole devono essere elaborate dal server e salvate nella mailbox stessa, non nel profilo locale del singolo utente.

  • Regole server‑side: girano su Exchange, funzionano in ogni client, anche quando nessun utente è connesso.
  • Regole client‑only: vivono nel profilo di Outlook di un utente; si attivano solo se quel client è aperto. Non sono adatte alle shared mailbox.

In sintesi: progetta e crea regole direttamente sulla cassetta condivisa (OWA o PowerShell), evita le regole locali sul profilo personale.

Due strade consigliate

PassoDescrizione operativaVantaggiQuando usarlo
Outlook sul Web (OWA)Apri la mailbox condivisa: AvatarApri un’altra cassetta, digita l’indirizzo e conferma. Vai su Impostazioni (⚙︎) → PostaRegole. Clic su Nuova regola → definisci condizioni (es. Oggetto contiene…) e azione (es. Sposta in cartella…).Regola server‑side valida su OWA, Outlook desktop e mobile. Visibile a chiunque abbia diritti sulla mailbox.Metodo consigliato se hai già permessi “Full Access” o “Manage Rules”.
PowerShell (Exchange Online)Crea e gestisci regole con cmdlet come New-InboxRule, Set-InboxRule, Get-InboxRule. Ideale per criteri avanzati, automazione e distribuzione su più cassette condivise. New-InboxRule ` -Mailbox SharedMailbox@dominio.com ` -Name "Sposta Ordini" ` -SubjectContainsWords "Ordine" ` -MoveToFolder "Inbox\Ordini" ` -StopProcessingRules $trueFlessibilità totale: condizioni ed eccezioni avanzate, mass deploy. Versioning e backup semplici (CSV, script).Per scenari enterprise o quando serve controllo granulare e automazione. Richiede ruolo di amministratore Exchange.

Procedura dettagliata con Outlook sul Web (OWA)

Prerequisiti

  • Permessi sulla mailbox: almeno Full Access. Facoltativo ma utile: Send As/Send on Behalf (non necessario per le regole).
  • Cartelle di destinazione già create (es. Inbox > Ordini, Inbox > Fatture). Puoi crearle direttamente dalla barra laterale di OWA.

Creazione della regola

  1. Apri OWA con il tuo account aziendale. Seleziona l’avatar in alto a destra → Apri un’altra cassetta → digita l’indirizzo della shared mailbox e aprila.
  2. Vai su Impostazioni (icona ingranaggio) → PostaRegole (o Posta > Regole, in base alla versione).
  3. Fai clic su Nuova regola:
    • Nome: ORDINI → Sposta in “Ordini”.
    • Condizione: Oggetto includeOrdine, PO, Acquisto (puoi inserire più parole chiave).
    • Azione: Sposta in → seleziona Inbox > Ordini.
    • Opzioni:
      • Attiva Interrompi l’elaborazione di altre regole se vuoi che, dopo lo spostamento, nessun’altra regola tocchi il messaggio.
      • Valuta eccezioni, es. Se l’oggetto contiene “ordine di prova”non applicare.
  4. Salva e testa: invia un’email di prova con oggetto “Ordine 12345” alla casella condivisa.

Note operative

  • Le regole create così sono server‑side e si applicano a prescindere dal client usato.
  • Tutti i membri con diritti sulla mailbox possono visualizzare e (se autorizzati) modificare le regole.
  • Per modificare le priorità trascina le regole nell’elenco (in OWA) o cambia l’ordine con i pulsanti su/giù, così da riflettere la logica desiderata.

Procedura con Exchange Online PowerShell

Prerequisiti

  • Ruolo/permessi: un amministratore con diritti per gestire le regole della mailbox (Exchange Online).
  • Modulo: ExchangeOnlineManagement installato sul sistema da cui esegui gli script.

Connessione

# Installazione (una tantum)
Install-Module ExchangeOnlineManagement -Scope CurrentUser

Caricamento modulo e connessione

Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline

Creazione cartella di destinazione (opzionale da PowerShell)

Se vuoi garantire che la cartella esista prima di creare la regola:

$mbx    = "SharedMailbox@dominio.com"
$folder = "$mbx:\Inbox\Ordini"

Crea la cartella se non esiste

if (-not (Get-MailboxFolder -Identity $folder -ErrorAction SilentlyContinue)) {
New-MailboxFolder -Parent "$mbx:\Inbox" -Name "Ordini"
}

Creazione della regola

New-InboxRule `
  -Mailbox $mbx `
  -Name "Sposta Ordini" `
  -SubjectContainsWords "Ordine","PO","Acquisto" `
  -MoveToFolder "Inbox\Ordini" `
  -StopProcessingRules $true `
  -Enabled $true

Suggerimenti:

  • Usa -StopProcessingRules $true per evitare che altre regole rielaborino lo stesso messaggio.
  • Aggiungi eccezioni con parametri -ExceptIf* (es. -ExceptIfSubjectContainsWords "ordine di prova").
  • Per spostamenti multipli in base a domini o mittenti, usa regole dedicate, ordinate per priorità.

Verifica, modifica, disattivazione

# Elenco e priorità
Get-InboxRule -Mailbox $mbx | Sort-Object Priority |
  Format-Table Name, Enabled, Priority, MoveToFolder, StopProcessingRules

Modifica

Set-InboxRule -Mailbox $mbx -Identity "Sposta Ordini" `
-SubjectContainsWords "Ordine","PO" -MoveToFolder "Inbox\Ordini"

Disattiva o rimuovi

Disable-InboxRule -Mailbox $mbx -Identity "Sposta Ordini"
Remove-InboxRule  -Mailbox $mbx -Identity "Sposta Ordini"

Distribuzione su più mailbox condivise

$mailboxes = @(
  "ordini@contoso.com",
  "fatture@contoso.com",
  "logistica@contoso.com"
)

foreach ($m in $mailboxes) {

crea cartella se necessario

if (-not (Get-MailboxFolder -Identity "$m:\Inbox\Ordini" -ErrorAction SilentlyContinue)) {
New-MailboxFolder -Parent "$m:\Inbox" -Name "Ordini"
}

crea o aggiorna la regola

if (-not (Get-InboxRule -Mailbox $m -Identity "Sposta Ordini" -ErrorAction SilentlyContinue)) {
New-InboxRule -Mailbox $m -Name "Sposta Ordini" `      -SubjectContainsWords "Ordine"`
-MoveToFolder "Inbox\Ordini" -StopProcessingRules $true
} else {
Set-InboxRule -Mailbox $m -Identity "Sposta Ordini" `      -SubjectContainsWords "Ordine"`
-MoveToFolder "Inbox\Ordini" -StopProcessingRules $true
}
}

Backup, versioning e ripristino

# Esporta regole in CSV per documentazione/versioning
Get-InboxRule -Mailbox $mbx |
  Select Name,Enabled,Priority,From,SentTo,SubjectContainsWords,
         ExceptIfFrom,ExceptIfSubjectContainsWords,MoveToFolder,CopyToFolder |
  Export-Csv -NoTypeInformation -Path ".\InboxRules-$($mbx.Split('@')[0]).csv"

Conserva il CSV nel tuo repository interno o allegalo a una change request: in caso di regressioni puoi ricreare rapidamente le regole.

Come progettare regole robuste (pattern ed esempi)

  • Parole chiave in oggetto: ottimo per ordini, ticket, RMA. Esempio: Oggetto contiene “Ordine”, “PO”, “RDO”.
  • Mittente/dominio: per canali di notifica (noreply@fornitore.com, @partner.it).
  • Presenza allegati: instradare fatture o bolle (azione: sposta in Inbox > Fatture).
  • Liste di distribuzione: condizioni su Inviato a (es. ordini@ vs supporto@).
  • Eccezioni: escludi soggetti di test o mittenti interni per ridurre falsi positivi.

Ordine di esecuzione: le regole vengono elaborate dall’alto verso il basso. Usa “Interrompi l’elaborazione” (OWA) o -StopProcessingRules (PowerShell) sulle regole principali per evitare duplicazioni e comportamenti inattesi.

Evitare loop/forward esterni: le regole che inoltrano automaticamente a indirizzi esterni possono essere bloccate da policy; in generale privilegia Sposta o Copia in e gestisci inoltri in modo controllato.

Verifiche e buone pratiche

  1. Permessi – Servono almeno Full Access per creare o modificare regole; in caso contrario, coinvolgi l’IT o un admin Exchange.
  2. Tipo di regola – Evita azioni client‑only (suoni, popup, categorie); usa sempre azioni server‑side (Sposta, Copia, Elimina, Contrassegna come letto, Inoltra).
  3. Aggiornamento client desktop – Se la regola funziona in OWA ma non in Outlook:
    • Assicurati che Outlook sia online e abbia completato la sincronizzazione.
    • Se compaiono conflitti locali, avvia Outlook con /cleanrules solo sul profilo personale (le regole della shared mailbox restano sul server).
    • Verifica che la cartella di destinazione esista e venga sincronizzata in modalità cache (File > Impostazioni account > Impostazioni > Avanzate → “Scarica cartelle condivise”).
  4. Limiti di capienza – Una mailbox può contenere fino a circa 256 KB di regole (≈100 regole semplici); consolida condizioni simili e riusa regole con più parole chiave per non saturare lo spazio.
  5. Monitoraggio – Testa con messaggi di prova e verifica con gli strumenti di audit/messagetrace di Exchange se l’azione è stata applicata; aiuta a individuare errori di criterio o permessi.

Risoluzione dei problemi

La regola non sposta i messaggi

  • Condizioni troppo restrittive: allarga le parole chiave o verifica gli spazi/accents (“ordine” vs “Ordine”).
  • Ordine delle regole: un’altra regola sopra potrebbe catturare prima il messaggio. Sposta la tua più in alto o usa Interrompi l’elaborazione.
  • Cartella mancante: ricrea la cartella o correggi il percorso; in PowerShell verifica con Get-MailboxFolder.

Funziona in OWA ma non in Outlook

  • Controlla la modalità cache (abilita “Scarica cartelle condivise”).
  • Aggiorna la selezione delle cartelle sincronizzate e riavvia Outlook.
  • Evita regole client‑only: ricreale su OWA o con PowerShell come regole server‑side.

Hai raggiunto il limite di regole

  • Unisci regole con logica simile usando più parole chiave nella stessa condizione (l’operatore è “OR” tra i valori).
  • Elimina o disattiva regole obsolete; valuta l’uso di eccezioni per ridurre duplicazioni.
  • Per instradamenti globali su molte caselle, considera se alcune logiche appartengono a mail flow (regole di trasporto) a livello organizzativo, non all’Inbox della singola cassetta.

Messaggi duplicati o “saltano” tra cartelle

  • Assicurati di usare StopProcessing sulla prima regola che deve “vincere”.
  • Evita combinazioni di Copia + Sposta su criteri sovrapposti.
  • Ripensa la granularità: meglio poche regole stabili che molte parzialmente sovrapposte.

Esempi pronti (da copiare e adattare)

Ordini: oggetto contiene parole chiave

New-InboxRule -Mailbox SharedMailbox@dominio.com `
  -Name "ORDINI - Sposta" `
  -SubjectContainsWords "Ordine","PO","Acquisto" `
  -MoveToFolder "Inbox\Ordini" -StopProcessingRules $true

Fatture: mittente di un fornitore + allegato

New-InboxRule -Mailbox SharedMailbox@dominio.com `
  -Name "FATTURE - Sposta" `
  -From noreply@fornitore.it `
  -HasAttachment $true `
  -MoveToFolder "Inbox\Fatture" -StopProcessingRules $true

Ticket: inviato a un alias specifico

New-InboxRule -Mailbox SharedMailbox@dominio.com `
  -Name "TICKET - Sposta" `
  -SentTo "supporto@dominio.com" `
  -MoveToFolder "Inbox\Ticket" -StopProcessingRules $true

Escludi messaggi interni di test

Set-InboxRule -Mailbox SharedMailbox@dominio.com `
  -Identity "ORDINI - Sposta" `
  -ExceptIfFrom "nome.cognome@dominio.com","qa@dominio.com"

Governance, documentazione e change management

  • Nomenclatura: adotta prefissi coerenti (es. ORDINI →, FATTURE →) e descrizioni chiare nello Scope interno.
  • Documentazione condivisa: mantieni un file interno (wiki/SharePoint) con elenco regole, criteri e proprietari. Aggiorna a ogni modifica.
  • Versioning: esporta regole con Get-InboxRule in CSV a ogni change; allega il CSV alla richiesta di modifica.
  • Revisione periodica: programma un controllo trimestrale per eliminare regole obsolete e consolidare criteri simili.

Checklist operativa veloce

  • ✅ Ho Full Access alla mailbox condivisa (o un admin disponibile).
  • ✅ Le cartelle di destinazione sono create (Ordini, Fatture, Ticket…).
  • ✅ Creo/modifico la regola in OWA o con PowerShell sulla mailbox condivisa, non nel mio profilo.
  • ✅ Aggiungo StopProcessing se la regola deve “vincere”.
  • ✅ Eseguo un test con messaggio di prova e controllo l’esito.
  • ✅ Documento la modifica (CSV/esportazione + nota tecnica).

FAQ essenziali

Le regole create dal mio Outlook desktop personale funzionano per tutti?
No. Se create nel profilo personale, sono regole client‑only e non sono affidabili per la cassetta condivisa. Usa OWA o PowerShell direttamente sulla mailbox condivisa.

La lingua della cartella influisce sul percorso in PowerShell?
In genere i cmdlet accettano percorsi standard come Inbox\Subfolder; in caso di dubbi verifica la cartella con Get-MailboxFolder e usa quel percorso.

Posso usare “Inoltra” verso indirizzi esterni?
Tecnicamente sì, ma potrebbe essere bloccato da policy di sicurezza/DLP. Preferisci instradamenti interni e revisioni periodiche delle regole.

Qual è il limite massimo di regole?
Circa 256 KB di spazio per mailbox (≈100 regole semplici). Se ti avvicini al limite, consolida criteri e sfrutta le eccezioni.

Le regole valgono anche su dispositivi mobili?
Sì: essendo server‑side, il comportamento è coerente su ogni client (OWA, Outlook desktop, smartphone).

Conclusioni

Per avere automazioni affidabili su una mailbox condivisa, crea regole server‑side direttamente sulla cassetta: il metodo più rapido è Outlook sul Web, mentre Exchange Online PowerShell offre scalabilità, controllo e ripetibilità in contesti enterprise. Progetta condizioni chiare, ordina le regole in modo intenzionale, usa “Interrompi l’elaborazione” quando serve, monitora con test e audit, e conserva sempre una documentazione aggiornata.


Appendice: modello di policy interna per le regole della shared mailbox

  • Obiettivo: preservare ordine, reperibilità e governance dei messaggi.
  • Ambito: tutte le mailbox condivise dell’unità/funzione.
  • Principi:
    • Solo regole server‑side create su OWA/PowerShell.
    • Nomenclatura uniforme (AREA → Azione).
    • Uso prudente di inoltri esterni; approvazione IT quando necessario.
    • Versioning tramite esportazione CSV e change log condiviso.
    • Revisione trimestrale e test a ogni modifica.

In sintesi: crea la regola con Outlook sul Web per un’attivazione immediata e visibile a tutti; per scenari avanzati o roll‑out su più caselle, usa Exchange Online PowerShell. Se una regola pare “funzionare solo online”, verifica la sincronizzazione di Outlook desktop e la natura effettivamente server‑side della regola.

Indice