A organização usará um novo endereço SMTP primário. Eles já têm esse novo endereço definido como endereço alternativo para todas as caixas de correio. Agora, eles querem trocá-lo pelo endereço SMTP principal. Se houver outros endereços de alias, eles deverão permanecer intactos. Neste artigo, você aprenderá como alterar o endereço de alias para o endereço SMTP principal no Microsoft 365 com PowerShell.
Introdução
O script do PowerShell Set-M365PrimaryAddress.ps1 funciona para Exchange Online (Microsoft 365). Se você quiser fazer o mesmo, mas para o ambiente local do Exchange ou para o ambiente híbrido do Exchange, leia o artigo Alterar o endereço do alias para o endereço SMTP primário com o PowerShell.
Observação:O endereço SMTP do alias se torna o endereço SMTP principal e o endereço SMTP principal se torna um endereço do alias. Portanto, o endereço SMTP principal não será removido; ele apenas é trocado pelo endereço SMTP do alias.
Antes de começar
E se não houver nenhum endereço de alias definido para cada caixa de correio? O melhor é ler o artigo Adicionar endereço SMTP secundário em massa com PowerShell.
Depois de verificar se o endereço de alias está definido para todas as caixas de correio, execute o script Set-M365PrimaryAddress.ps1 do PowerShell deste artigo para trocar o endereço de alias pelo endereço SMTP principal.
Mais leitura:Como forçar a remoção de contato no Microsoft 365 com PowerShell
Suponha que você tenha terminado e queira remover o antigo endereço SMTP primário que agora é um endereço de alias. Você pode ler o artigo Remover em massa o endereço SMTP secundário com o PowerShell.
É sempre melhor fazer isso em etapas do que com um script que faz tudo imediatamente, para ter certeza de que tudo está configurado corretamente.
Baixe o script Set-M365PrimaryAddress.ps1 do PowerShell ou copie e cole o código abaixo no Bloco de Notas. Dê-lhe o nomeSet-M365PrimaryAddress.ps1e coloque-o noC: scriptspasta. Crie umRoteirospasta se você não tiver uma.
<#
.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-TranscriptConjunto em massa do script do PowerShell do endereço SMTP primário do Microsoft 365
O script funciona para Exchange Online em um ambiente Microsoft 365. Execute o PowerShell como administrador e conecte-se ao Exchange Online PowerShell.
Connect-ExchangeOnlineVá para o caminho do script e execute o script Set-M365PrimaryAddress.ps1. O script passará por todas as caixas de correio da organização do Exchange Online.
Observação:Existe um-E separâmetro para uma simulação para que nada aconteça, e você pode verificar novamente a saída do PowerShell se tudo estiver como você deseja. Quando tudo estiver certo, remova o-E separâmetro e execute novamente o script.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl" -WhatIfExecute o script sem o-E separâmetro.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl"Se existirem vários endereços de alias para uma caixa de correio, nenhuma alteração será aplicada e a saída mostrará essas informações para que você possa analisá-las.
Neste exemplo, o endereço de alias existente com o domínio @exoip.nl será definido em massa como o endereço SMTP principal.
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.logÉ isso!
Conclusão
Você aprendeu como definir em massa o endereço de alias como endereço SMTP primário no Microsoft 365 com PowerShell. Primeiro, baixe o script PowerShell Set-M365PrimaryAddress. Em seguida, adicione o domínio no comando que deseja pesquisar nos endereços de alias da caixa de correio. Por fim, execute o script. Lembre-se de testar primeiro com o parâmetro -WhatIf.
Você gostou deste artigo? Você também pode gostar de Enviar como alias do aplicativo móvel Microsoft Outlook (iOS e Android). Não se esqueça de nos seguir e compartilhar este artigo.









![[FIREFOX FIX] Todos os complementos existentes foram desativados, não podem instalar novas extensões](https://media.askvg.com/articles/images5/Disable_Addon_Signature_Check_Firefox.png)




