Vuoi evitare che un Microsoft 365 Group venga “inondato” dai messaggi dei membri? In questo articolo ti mostro come consentire l’invio di e‑mail al gruppo solo ai proprietari, escludendo tutti gli altri, con una procedura sicura, ripetibile e completamente gestibile via PowerShell in Exchange Online.
Scenario e obiettivo
Un amministratore ha creato un Microsoft 365 Group con dominio .onmicrosoft.com
e desidera che soltanto i proprietari del gruppo possano inviare e‑mail all’intero gruppo. I membri devono essere bloccati, così da ridurre rumore, spam interno e rischi di comunicazioni non autorizzate.
La soluzione più pulita è utilizzare il parametro di Exchange Online -AcceptMessagesOnlyFromSendersOrMembers
sul gruppo, elencando in modo esplicito chi può inviare. Tutti gli altri — inclusi membri semplici ed eventuali mittenti esterni — vengono rifiutati.
Prerequisiti
- Ruolo Global Admin o Exchange Administrator.
- PowerShell 5.1 o PowerShell 7+ sul computer amministrativo.
- Modulo Exchange Online Management.
- Connettività a Internet con accesso ai servizi Microsoft 365.
Come funziona la limitazione
Il parametro -AcceptMessagesOnlyFromSendersOrMembers
imposta una allow‑list di identità (utenti o gruppi) autorizzate a spedire al Microsoft 365 Group. Se il mittente non è nella lista:
- il messaggio viene rifiutato dal sistema;
- può essere generato un NDR (Non‑Delivery Report) verso il mittente.
Per gestioni più semplici, al posto di elencare i singoli proprietari puoi creare un gruppo di sicurezza dedicato (ad es. Grp‑Owners‑AllowedToPost) che contiene i proprietari e autorizzare solo quel gruppo.
Procedura passo‑passo (PowerShell)
Di seguito la procedura standard, pensata per essere seguita anche da chi si approccia per la prima volta a Exchange Online PowerShell:
Passo | Azione | Dettagli / Comando PowerShell |
---|---|---|
1 | Aprire PowerShell come amministratore | Apri Windows PowerShell o PowerShell 7 con diritti elevati. |
2 | Consentire script remoti (solo alla prima esecuzione) | Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
3 | Installare e importare il modulo Exchange Online (se necessario) | Install-Module ExchangeOnlineManagement -Scope CurrentUser Import-Module ExchangeOnlineManagement |
4 | Connettersi a Exchange Online | Connect-ExchangeOnline |
5 | Limitare i mittenti autorizzati | $GroupAddress = "group@domain.onmicrosoft.com" Set-UnifiedGroup -Identity $GroupAddress ` -AcceptMessagesOnlyFromSendersOrMembers "userA@domain.com","userB@domain.com" Nel comando sopra, sostituisci con la mail del tuo gruppo e le caselle dei proprietari autorizzati a inviare. |
Verifica immediata
Get-UnifiedGroup -Identity "group@domain.onmicrosoft.com" |
fl AcceptMessagesOnlyFromSendersOrMembers,AllowExternalSenders
Script “copia e incolla” (scenario minimo)
Questo snippet applica in un colpo solo la configurazione tipica: solo i proprietari indicati possono inviare e i mittenti esterni sono bloccati.
# Parametri
$GroupAddress = "group@domain.onmicrosoft.com"
$Authorized = @("owner1@domain.com","owner2@domain.com") # proprietari autorizzati
Connessione
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Consenti invio solo ai mittenti elencati
Set-UnifiedGroup -Identity $GroupAddress `
-AcceptMessagesOnlyFromSendersOrMembers $Authorized
Blocca i mittenti esterni per maggiore sicurezza
Set-UnifiedGroup -Identity $GroupAddress -AllowExternalSenders:$false
Verifica
Get-UnifiedGroup -Identity $GroupAddress |
fl DisplayName,PrimarySmtpAddress,AcceptMessagesOnlyFromSendersOrMembers,AllowExternalSenders
Nota su mittenti esterni: Per i Microsoft 365 Group la proprietà corretta per consentire o bloccare gli esterni è -AllowExternalSenders
. Impostala a $false
per accettare solo mittenti autenticati dell’organizzazione.
Automatizzare: allineare l’elenco ai proprietari reali
Se non vuoi mantenere manualmente l’elenco dei mittenti autorizzati, puoi sincronizzarlo con i proprietari effettivi del gruppo. Così, quando aggiungi o rimuovi un owner, i privilegi di invio si aggiornano di conseguenza.
$GroupAddress = "group@domain.onmicrosoft.com"
Recupera i proprietari del gruppo
$owners = Get-UnifiedGroupLinks -Identity $GroupAddress -LinkType Owners |
Select-Object -ExpandProperty PrimarySmtpAddress
if (-not $owners -or $owners.Count -eq 0) {
Write-Host "Nessun proprietario trovato per $GroupAddress" -ForegroundColor Yellow
} else {
Applica la restrizione: solo i proprietari possono inviare
Set-UnifiedGroup -Identity $GroupAddress -AcceptMessagesOnlyFromSendersOrMembers $owners
Opzionale: blocca i mittenti esterni
Set-UnifiedGroup -Identity $GroupAddress -AllowExternalSenders:$false
Verifica
Get-UnifiedGroup -Identity $GroupAddress |
fl AcceptMessagesOnlyFromSendersOrMembers,AllowExternalSenders
}
Applicare la policy a più gruppi (bulk)
Vuoi applicare la stessa policy a tutti i Microsoft 365 Group della tenant? Ecco uno script di esempio (usa con prudenza e test preliminari):
# ATTENZIONE: testare prima su un sottoinsieme di gruppi!
$allGroups = Get-UnifiedGroup -ResultSize Unlimited
foreach ($g in $allGroups) {
try {
$owners = Get-UnifiedGroupLinks -Identity $g.Identity -LinkType Owners |
Select-Object -ExpandProperty PrimarySmtpAddress
```
if ($owners) {
Set-UnifiedGroup -Identity $g.Identity `
-AcceptMessagesOnlyFromSendersOrMembers $owners
# Coerentemente, blocca i mittenti esterni su tutti i gruppi
Set-UnifiedGroup -Identity $g.Identity -AllowExternalSenders:$false
Write-Host "Aggiornato: $($g.DisplayName)" -ForegroundColor Green
} else {
Write-Host "Nessun proprietario per: $($g.DisplayName) — saltato" -ForegroundColor Yellow
}
```
}
catch {
Write-Host "Errore su $($g.DisplayName): $($_.Exception.Message)" -ForegroundColor Red
}
}
Alternative: regola di trasporto (Mail Flow)
In alcuni ambienti preferisci una centralizzazione in mail flow (Exchange Admin Center). La logica è: “Rifiuta i messaggi indirizzati al gruppo, a meno che il mittente non appartenga al gruppo di sicurezza autorizzati”.
Passi (interfaccia grafica)
- Crea o individua un gruppo di sicurezza che contenga i proprietari autorizzati (es. Grp‑Owners‑AllowedToPost).
- In Exchange Admin Center, vai su Mail flow → Rules e crea una nuova regola.
- Condizione: Il messaggio è inviato a → il tuo M365 Group.
- Azione: Rifiuta il messaggio con una spiegazione (es. “Solo i proprietari possono postare a questo gruppo”).
- Eccezione: Il mittente è membro di → Grp‑Owners‑AllowedToPost.
- Salva e monitora la regola nei primi giorni per rilevare anomalie.
Comando PowerShell equivalente
New-TransportRule -Name "Blocca invii a group@domain" `
-SentTo "group@domain.onmicrosoft.com" `
-RejectMessageReasonText "Solo i proprietari possono inviare a questo gruppo." `
-ExceptIfFromMemberOf "Grp-Owners-AllowedToPost"
Quando usare le regole: sono utili se vuoi una governance trasversale, logiche di eccezione più evolute o logging centralizzato. In genere, però, Set‑UnifiedGroup è più semplice e immediato da mantenere.
Verifica, rollback e diagnostica
Controllare la configurazione
Get-UnifiedGroup -Identity "group@domain.onmicrosoft.com" |
fl DisplayName,PrimarySmtpAddress,AcceptMessagesOnlyFromSendersOrMembers,AllowExternalSenders
Rimuovere le restrizioni (rollback)
Set-UnifiedGroup -Identity "group@domain.onmicrosoft.com" `
-AcceptMessagesOnlyFromSendersOrMembers $null
Questo comando ripristina la condizione predefinita in cui non esiste un elenco di mittenti allow‑list.
Tempi di propagazione
Le modifiche possono richiedere fino a 30 minuti per propagarsi su tutti i server Microsoft 365 interessati. Se fai test immediati, considera questo naturale ritardo di convergenza.
Tracciare messaggi rifiutati
Se un utente segnala un NDR, esegui una message trace in Exchange Admin Center oppure utilizza i cmdlet dedicati per verificare lo stato di recapito e le eventuali regole che hanno causato il reject.
Domande frequenti (FAQ)
I proprietari sono automaticamente autorizzati a inviare?
No, non automaticamente. I proprietari governano il gruppo, ma per limitare l’invio solo a loro devi usare -AcceptMessagesOnlyFromSendersOrMembers
(o una regola di trasporto) e includerli esplicitamente.
Posso autorizzare anche una casella condivisa o un gruppo di sicurezza?
Sì. Il parametro accetta utenti, gruppi di sicurezza o caselle condivise. Anzi, un gruppo di sicurezza dedicato semplifica la gestione nel tempo.
Come blocco gli esterni in modo definitivo?
Per i Microsoft 365 Group usa Set-UnifiedGroup -AllowExternalSenders:$false
. Questo impedisce a mittenti non autenticati dell’organizzazione di spedire al gruppo, anche se conoscono l’indirizzo.
È meglio usare Set‑UnifiedGroup o una regola di trasporto?
Dipende. Set‑UnifiedGroup è più semplice e locale al gruppo; una regola di trasporto è più centralizzata e adatta a policy “globali”, ma leggermente più complessa da gestire.
Che differenza c’è tra un Microsoft 365 Group e una Distribution List?
Le Distribution List (DL) sono più “classiche” e offrono parametri come la moderazione; i Microsoft 365 Group abilitano servizi M365 (Planner, SharePoint, Teams, ecc.). Per i Group, la limitazione dell’invio si gestisce come visto in questo articolo.
Serve il dominio .onmicrosoft.com
?
No: l’indirizzo .onmicrosoft.com
non cambia la procedura. Puoi impostare i parametri esattamente allo stesso modo anche se l’alias principale del gruppo è su un dominio personalizzato (ad es. @contoso.com
).
Posso aggiungere o rimuovere mittenti senza sovrascrivere l’elenco?
Sì, con la sintassi incrementale:
# Aggiungere mittenti
Set-UnifiedGroup -Identity "group@domain.onmicrosoft.com" `
-AcceptMessagesOnlyFromSendersOrMembers @{Add="userA@domain.com","userB@domain.com"}
Rimuovere mittenti
Set-UnifiedGroup -Identity "[group@domain.onmicrosoft.com](mailto:group@domain.onmicrosoft.com)" `
-AcceptMessagesOnlyFromSendersOrMembers @{Remove="[userA@domain.com](mailto:userA@domain.com)"}
Buone pratiche di governance
- Usa un gruppo di sicurezza per rappresentare i “mittenti autorizzati”: semplifica onboarding/offboarding dei proprietari.
- Automatizza l’allineamento (script programmato) se la proprietà dei gruppi cambia spesso.
- Blocca i mittenti esterni con
-AllowExternalSenders:$false
per ridurre i rischi. - Documenta la policy nel catalogo di servizi IT (chi può inviare, perché, come richiedere eccezioni).
- Monitora i NDR dopo l’attivazione: possono rivelare flussi legittimi che richiedono eccezioni.
Checklist rapida
- Hai raccolto la lista dei proprietari autorizzati a postare?
- Hai eseguito
Connect-ExchangeOnline
con un account privilegiato? - Hai impostato
-AcceptMessagesOnlyFromSendersOrMembers
sul gruppo corretto? - Hai configurato
-AllowExternalSenders:$false
se vuoi bloccare messaggi dall’esterno? - Hai verificato la configurazione con
Get-UnifiedGroup
? - Hai atteso la propagazione (fino a ~30 minuti) prima di testare?
Esempi pratici
Autorizzare i soli proprietari “attuali”
$g = "group@domain.onmicrosoft.com"
$owners = Get-UnifiedGroupLinks -Identity $g -LinkType Owners | Select -ExpandProperty PrimarySmtpAddress
Set-UnifiedGroup -Identity $g -AcceptMessagesOnlyFromSendersOrMembers $owners
Autorizzare una casella condivisa “Comunicazioni”
Set-UnifiedGroup -Identity "group@domain.onmicrosoft.com" `
-AcceptMessagesOnlyFromSendersOrMembers "comunicazioni@domain.com"
Completare con il blocco esterni
Set-UnifiedGroup -Identity "group@domain.onmicrosoft.com" -AllowExternalSenders:$false
Risoluzione dei problemi
- Un proprietario riceve NDR quando invia al gruppo
Verifica che l’indirizzo del proprietario sia effettivamente nell’elencoAcceptMessagesOnlyFromSendersOrMembers
e che non vi siano alias o indirizzi secondari non inclusi. - Un membro continua a inviare
Controlla che non ci siano regole di trasporto con eccezioni impreviste o deleghe (Send As/Send on Behalf) che aggirano la restrizione. - Non vedi l’effetto subito
Attendi fino a 30 minuti. Se il problema persiste, riconnetti la sessione PowerShell e riesegui la verifica conGet-UnifiedGroup
. - Serve un messaggio di cortesia al mittente bloccato
Se utilizzi una regola di trasporto per il blocco, imposta un testo personalizzato nel reject message per spiegare la policy.
Conclusioni
Con pochi comandi e una chiara strategia di governance è possibile garantire che soltanto i proprietari comunichino verso un Microsoft 365 Group. La combinazione di Set‑UnifiedGroup
(allow‑list dei mittenti) e -AllowExternalSenders:$false
(blocco esterni) risolve la maggior parte degli scenari, mentre le regole di trasporto aggiungono flessibilità per tenanti con requisiti più articolati. Il risultato è un canale di comunicazione ordinato, sicuro e sotto controllo, senza sacrificare la semplicità operativa.
Comandi di riferimento rapidi
# Connessione
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Impostare la allow-list dei mittenti (sovrascrive l'elenco)
Set-UnifiedGroup -Identity "[group@domain.onmicrosoft.com](mailto:group@domain.onmicrosoft.com)" `
-AcceptMessagesOnlyFromSendersOrMembers "[owner1@domain.com](mailto:owner1@domain.com)","[owner2@domain.com](mailto:owner2@domain.com)"
Aggiungere/rimuovere senza sovrascrivere
Set-UnifiedGroup -Identity "[group@domain.onmicrosoft.com](mailto:group@domain.onmicrosoft.com)" ` -AcceptMessagesOnlyFromSendersOrMembers @{Add="owner3@domain.com"}
Set-UnifiedGroup -Identity "group@domain.onmicrosoft.com"`
-AcceptMessagesOnlyFromSendersOrMembers @{Remove="[owner2@domain.com](mailto:owner2@domain.com)"}
Bloccare i mittenti esterni
Set-UnifiedGroup -Identity "[group@domain.onmicrosoft.com](mailto:group@domain.onmicrosoft.com)" -AllowExternalSenders:$false
Verifica
Get-UnifiedGroup -Identity "[group@domain.onmicrosoft.com](mailto:group@domain.onmicrosoft.com)" |
fl AcceptMessagesOnlyFromSendersOrMembers,AllowExternalSenders
Rollback
Set-UnifiedGroup -Identity "[group@domain.onmicrosoft.com](mailto:group@domain.onmicrosoft.com)" `
-AcceptMessagesOnlyFromSendersOrMembers $null
Seguendo questa guida potrai raggiungere l’obiettivo richiesto: soltanto i proprietari (o i soggetti che decidi tu) potranno inviare e‑mail al gruppo; i membri saranno esclusi, e il rischio di traffico indesiderato verrà significativamente ridotto.