L'organisation va utiliser une nouvelle adresse SMTP principale. Ils ont déjà cette nouvelle adresse définie comme adresse alias pour toutes les boîtes aux lettres. Maintenant, ils veulent l'échanger avec l'adresse SMTP principale. S’il existe d’autres adresses alias, elles doivent rester intactes. Dans cet article, vous apprendrez comment remplacer l'adresse d'alias par l'adresse SMTP principale dans Microsoft 365 avec PowerShell.
Introduction
Le script PowerShell Set-M365PrimaryAddress.ps1 fonctionne pour Exchange Online (Microsoft 365). Si vous souhaitez faire la même chose, mais pour Exchange sur site ou dans un environnement Exchange hybride, lisez l'article Modifier l'adresse d'alias en adresse SMTP principale avec PowerShell.
Note:L'adresse SMTP alias devient l'adresse SMTP principale, et l'adresse SMTP principale deviendra une adresse alias. Ainsi, l’adresse SMTP principale ne sera pas supprimée ; il est simplement échangé avec l'adresse smtp d'alias.
Avant de commencer
Que se passe-t-il si aucune adresse alias n’est déjà définie pour chaque boîte aux lettres ? Le mieux est de parcourir l’article Ajout groupé d’adresse SMTP secondaire avec PowerShell.
Une fois que vous avez vérifié que l'adresse d'alias est définie pour toutes les boîtes aux lettres, exécutez le script PowerShell Set-M365PrimaryAddress.ps1 de cet article pour échanger l'adresse d'alias avec l'adresse SMTP principale.
Plus de lecture :Comment forcer la suppression d'un contact dans Microsoft 365 avec PowerShell
Supposons que vous avez terminé et que vous souhaitez supprimer l'ancienne adresse SMTP principale qui est désormais une adresse alias, vous pouvez consulter l'article Supprimer en bloc l'adresse SMTP secondaire avec PowerShell.
Il est toujours préférable de procéder par étapes plutôt qu'avec un seul script qui fait tout cela immédiatement afin d'être sûr que tout est correctement configuré.
Préparer le script PowerShell de l'adresse SMTP principale Microsoft 365
Téléchargez le script PowerShell Set-M365PrimaryAddress.ps1 ou copiez et collez le code ci-dessous dans le Bloc-notes. Donnez-lui le nomSet-M365PrimaryAddress.ps1et placez-le dans leC:scriptsdossier. Créer unScriptsdossier si vous n’en avez pas.
<#
.SYNOPSIS
Set-M365PrimaryAddress.ps1
.DESCRIPTION
Get the secondary (alias) address from a specified domain and set it as the primary SMTP address
for all mailbox users in Exchange Online (Microsoft 365). If there is no alias address set with
the specified domain, it will skip the user and display a message. The primary SMTP address will
become an alias address and all the secondary email address will remain.
.LINK
www.alitajran.com/change-microsoft-365-alias-address-to-primary-smtp-address/
.NOTES
Written by: ALI TAJRAN
Website: alitajran.com
X: x.com/alitajran
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 09/01/2024 - Initial version
#>
param (
[Parameter(Mandatory = $true)]
[string]$DomainName,
[switch]$WhatIf
)
# Output will be added to C:temp folder. Open the log with a text editor.
Start-Transcript -Path C:tempSet-M365Primary-SMTP-Address.log -Append
# Specify the domain to set as primary SMTP
$primarySMTPDomain = "@" + $DomainName
# Get all mailbox users
$users = Get-Mailbox -ResultSize Unlimited
foreach ($user in $users) {
$currentPrimarySMTP = $user.PrimarySmtpAddress.ToString()
$allEmailAddresses = $user.EmailAddresses
$aliasAddresses = $allEmailAddresses | Where-Object { $_ -clike "smtp:*$primarySMTPDomain" }
# Check if the current primary SMTP address ends with the specified domain
if ($currentPrimarySMTP -like "*$primarySMTPDomain") {
Write-Host "Skipping $($user.DisplayName) - Primary SMTP already ends with $primarySMTPDomain" -ForegroundColor Yellow
}
elseif ($aliasAddresses.Count -eq 1) {
$newPrimarySMTP = $aliasAddresses -replace "smtp:", "SMTP:"
Write-Host "Updating primary SMTP for $($user.DisplayName) to $newPrimarySMTP" -ForegroundColor Green
# Combine new primary with other addresses (keeping all existing addresses)
$updatedAddresses = @($newPrimarySMTP) + ($allEmailAddresses -replace "SMTP:", "smtp:" | Where-Object { $_ -ne $newPrimarySMTP })
# Set the new primary SMTP address
if ($WhatIf) {
Set-Mailbox -Identity $user -EmailAddresses $updatedAddresses -WhatIf
}
else {
Set-Mailbox -Identity $user -EmailAddresses $updatedAddresses
}
}
elseif ($aliasAddresses.Count -eq 0) {
Write-Host "No alias address found for $($user.DisplayName) - Primary SMTP not updated" -ForegroundColor Cyan
}
else {
Write-Host "Multiple alias addresses found for $($user.DisplayName) - Primary SMTP not updated" -ForegroundColor Red
}
}
Stop-TranscriptDéfinir en masse le script PowerShell de l'adresse SMTP principale de Microsoft 365
Le script fonctionne pour Exchange Online dans un environnement Microsoft 365. Exécutez PowerShell en tant qu'administrateur et connectez-vous à Exchange Online PowerShell.
Connect-ExchangeOnlineAccédez au chemin du script et exécutez le script Set-M365PrimaryAddress.ps1. Le script parcourra toutes les boîtes aux lettres de l'organisation Exchange Online.
Note:Il y a un-Et siparamètre pour un essai à sec afin que rien ne se passe, et vous pouvez revérifier la sortie PowerShell si tout ressemble à ce que vous souhaitez. Une fois que tout semble bon, retirez le-Et siparamètre et réexécutez le script.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl" -WhatIfExécutez le script sans le-Et siparamètre.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl"S'il existe plusieurs adresses d'alias pour une boîte aux lettres, aucune modification n'est appliquée et la sortie affiche ces informations afin que vous puissiez les consulter.
Dans cet exemple, l'adresse alias existante avec le domaine @exoip.nl sera définie en masse comme adresse SMTP principale.
Transcript started, output file is C:tempSet-M365Primary-SMTP-Address.log
Multiple alias addresses found for Adam Clark - Primary SMTP not updated
No alias address found for ALI TAJRAN - Primary SMTP not updated
Updating primary SMTP for Alison Bell to SMTP:[email protected]
No alias address found for Grace Rees - Primary SMTP not updated
Skipping Jeff Baker - Primary SMTP already ends with @tajran.com
No alias address found for John Maverick - Primary SMTP not updated
No alias address found for Joshua Hunter - Primary SMTP not updated
Updating primary SMTP for Zoë Roberts to SMTP:[email protected]
Transcript stopped, output file is C:tempSet-M365Primary-SMTP-Address.logC'est ça!
Conclusion
Vous avez appris à définir en masse une adresse d’alias comme adresse SMTP principale dans Microsoft 365 avec PowerShell. Tout d’abord, téléchargez le script PowerShell Set-M365PrimaryAddress. Ensuite, ajoutez le domaine dans la commande que vous souhaitez qu'il recherche dans les adresses d'alias de boîte aux lettres. Enfin, exécutez le script. N'oubliez pas de tester d'abord avec le paramètre -WhatIf.
Avez-vous apprécié cet article ? Vous aimerez peut-être également Envoyer en tant qu’alias depuis l’application mobile Microsoft Outlook (iOS et Android). N'oubliez pas de nous suivre et de partager cet article.











![Les applications de démarrage ne s'affichent pas dans l'application Paramètres de Windows 11 [Réparer]](https://elsefix.com/tech/tejana/wp-content/uploads/2024/12/startup-not-showing-settings-windows-11.png)



