Die Organisation wird eine neue primäre SMTP-Adresse verwenden. Sie haben diese neue Adresse bereits als Alias-Adresse für alle Postfächer festgelegt. Jetzt wollen sie diese mit der primären SMTP-Adresse austauschen. Falls weitere Alias-Adressen vorhanden sind, müssen diese unberührt bleiben. In diesem Artikel erfahren Sie, wie Sie mit PowerShell die Alias-Adresse in die primäre SMTP-Adresse in Microsoft 365 ändern.
Einführung
Das PowerShell-Skript „Set-M365PrimaryAddress.ps1“ funktioniert für Exchange Online (Microsoft 365). Wenn Sie dasselbe tun möchten, jedoch für eine lokale Exchange-Umgebung oder eine Exchange-Hybridumgebung, lesen Sie den Artikel Aliasadresse mit PowerShell in primäre SMTP-Adresse ändern.
Notiz:Die Alias-SMTP-Adresse wird zur primären SMTP-Adresse und die primäre SMTP-Adresse wird zu einer Alias-Adresse. Die primäre SMTP-Adresse wird also nicht entfernt; Es wird einfach mit der Alias-SMTP-Adresse ausgetauscht.
Bevor Sie beginnen
Was passiert, wenn nicht für jedes Postfach bereits eine Alias-Adresse festgelegt ist? Am besten lesen Sie den Artikel Bulk-Hinzufügen sekundärer SMTP-Adressen mit PowerShell durch.
Nachdem Sie überprüft haben, dass die Alias-Adresse für alle Postfächer festgelegt ist, führen Sie das PowerShell-Skript „Set-M365PrimaryAddress.ps1“ aus diesem Artikel aus, um die Alias-Adresse mit der primären SMTP-Adresse auszutauschen.
Mehr Lektüre:So erzwingen Sie das Entfernen von Kontakten in Microsoft 365 mit PowerShell
Angenommen, Sie sind fertig und möchten die alte primäre SMTP-Adresse entfernen, die jetzt eine Alias-Adresse ist. Sie können den Artikel Massenentfernung sekundärer SMTP-Adressen mit PowerShell lesen.
Es ist immer besser, dies schrittweise zu tun, als mit einem Skript, das alles sofort erledigt, damit Sie sicher sein können, dass alles richtig eingestellt ist.
Bereiten Sie das PowerShell-Skript zum Festlegen der primären SMTP-Adresse von Microsoft 365 vor
Laden Sie das PowerShell-Skript „Set-M365PrimaryAddress.ps1“ herunter oder kopieren Sie den folgenden Code und fügen Sie ihn in Notepad ein. Geben Sie ihm den NamenSet-M365PrimaryAddress.ps1und legen Sie es in dieC:SkripteOrdner. Erstellen Sie eineSkripteOrdner, falls Sie noch keinen haben.
<#
.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-TranscriptPowerShell-Skript zur Massenfestlegung der primären SMTP-Adresse von Microsoft 365
Das Skript funktioniert für Exchange Online in einer Microsoft 365-Umgebung. Führen Sie PowerShell als Administrator aus und stellen Sie eine Verbindung zu Exchange Online PowerShell her.
Connect-ExchangeOnlineGehen Sie zum Skriptpfad und führen Sie das Skript „Set-M365PrimaryAddress.ps1“ aus. Das Skript durchsucht alle Postfächer in der Exchange Online-Organisation.
Notiz:Es gibt eine-Was ist, wennParameter für einen Probelauf, damit nichts passiert, und Sie können die PowerShell-Ausgabe noch einmal überprüfen, ob alles wie gewünscht aussieht. Sobald alles gut aussieht, entfernen Sie die-Was ist, wennParameter und führen Sie das Skript erneut aus.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl" -WhatIfFühren Sie das Skript ohne aus-Was ist, wennParameter.
C:scripts.Set-M365PrimaryAddress.ps1 -DomainName "exoip.nl"Wenn mehrere Alias-Adressen für ein Postfach vorhanden sind, werden keine Änderungen übernommen und die Ausgabe zeigt diese Informationen an, damit Sie sie überprüfen können.
In diesem Beispiel wird die bestehende Alias-Adresse mit der Domäne @exoip.nl in großen Mengen als primäre SMTP-Adresse festgelegt.
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.logDas ist es!
Abschluss
Sie haben gelernt, wie Sie mit PowerShell eine Aliasadresse in großen Mengen als primäre SMTP-Adresse in Microsoft 365 festlegen. Laden Sie zunächst das PowerShell-Skript „Set-M365PrimaryAddress“ herunter. Fügen Sie dann die Domäne in den Befehl ein, nach dem in den Postfach-Aliasadressen gesucht werden soll. Führen Sie abschließend das Skript aus. Denken Sie daran, zuerst mit dem Parameter -WhatIf zu testen.
Hat Ihnen dieser Artikel gefallen? Möglicherweise gefällt Ihnen auch „Als Alias senden“ aus der mobilen Microsoft Outlook-App (iOS und Android). Vergessen Sie nicht, uns zu folgen und diesen Artikel zu teilen.











