Organisationen kommer att använda en ny primär SMTP-adress. De har redan den nya adressen inställd som en aliasadress för alla brevlådor. Nu vill de byta ut den med den primära SMTP-adressen. Om det finns andra aliasadresser måste de lämnas orörda. I den här artikeln kommer du att lära dig hur du ändrar aliasadressen till den primära SMTP-adressen i Microsoft 365 med PowerShell.
Introduktion
Set-M365PrimaryAddress.ps1 PowerShell-skriptet fungerar för Exchange Online (Microsoft 365). Om du gillar att göra detsamma men för Exchange lokalt eller Exchange Hybrid-miljö, läs artikeln Ändra aliasadress till primär SMTP-adress med PowerShell.
Notera:Alias smtp-adressen blir den primära SMTP-adressen och den primära SMTP-adressen blir en aliasadress. Så den primära SMTP-adressen kommer inte att tas bort; det byts bara ut med alias smtp-adressen.
Innan du börjar
Vad händer om det inte finns någon aliasadress redan inställd för varje brevlåda? Det bästa är att gå igenom artikeln Bulk add sekundär SMTP-adress med PowerShell.
När du har verifierat att aliasadressen är inställd för alla postlådor kör du Set-M365PrimaryAddress.ps1 PowerShell-skriptet från den här artikeln för att byta ut aliasadressen med den primära SMTP-adressen.
Mer läsning:Så här tvingar du bort kontakt i Microsoft 365 med PowerShell
Anta att du är klar och vill ta bort den gamla primära SMTP-adressen som nu är en aliasadress, kan du gå igenom artikeln Massta bort sekundär SMTP-adress med PowerShell.
Det är alltid bättre att göra detta i etapper än med ett skript som gör allt omedelbart så att du är säker på att allt är korrekt inställt.
Förbered uppsättningen Microsoft 365 Primär SMTP-adress PowerShell-skript
Ladda ner Set-M365PrimaryAddress.ps1 PowerShell-skriptet eller kopiera och klistra in koden nedan i Anteckningar. Ge det namnetSet-M365PrimaryAddress.ps1och placera den iC:skriptmapp. Skapa enManusmapp om du inte har en.
<#
.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-TranscriptBulkuppsättning Microsoft 365 Primär SMTP-adress PowerShell-skript
Skriptet fungerar för Exchange Online i en Microsoft 365-miljö. Kör PowerShell som administratör och anslut till Exchange Online PowerShell.
Connect-ExchangeOnlineGå till skriptsökvägen och kör skriptet Set-M365PrimaryAddress.ps1. Skriptet kommer att gå igenom alla brevlådor i Exchange Online-organisationen.
Notera:Det finns en-Vad omparameter för en torrkörning så att inget händer, och du kan dubbelkolla PowerShell-utgången om allt ser ut som du vill. När allt ser bra ut, ta bort-Vad omparameter och kör skriptet igen.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl" -WhatIfKör skriptet utan-Vad omparameter.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl"Om det finns flera aliasadresser för en postlåda kommer den inte att tillämpa några ändringar, och utdata visar den informationen så att du kan titta på den.
I det här exemplet kommer den befintliga aliasadressen med domänen @exoip.nl att ställas in i bulk som primär SMTP-adress.
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.logDet är det!
Slutsats
Du lärde dig hur man bulkställer in aliasadress som primär SMTP-adress i Microsoft 365 med PowerShell. Ladda först ner Set-M365PrimaryAddress PowerShell-skriptet. Lägg sedan till domänen i kommandot du vill att den ska söka efter i postlådealiasadresserna. Kör till sist skriptet. Kom ihåg att testa först med parametern -WhatIf.
Gillade du den här artikeln? Du kanske också gillar Skicka som alias från Microsoft Outlook-mobilappen (iOS och Android). Glöm inte att följa oss och dela den här artikeln.












![WindowsPackAgEnagerserver.exe Application Error [Fix]](https://elsefix.com/tech/tejana/wp-content/uploads/2025/01/WindowsPackageManagerServer.exe-Application-Error.jpg)

