• Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN
info@firstattribute.com
by FirstAttribute
Active Directory FAQActive Directory FAQ
  • Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN

Primäre E-Mail-Adresse ändern mit PowerShell

Okt 26, 2020 (Letztes Update) | Posted by Steve König Exchange, PowerShell |

 

Primäre E-Mail-Adresse ändern mit PowerShell

Ein Nutzer kann in Exchange mehrere E-Mail-Adressen haben. Nur eine davon ist allerdings seine primäre Mail-Adresse. Wie geht man vor, wenn man eine der weiteren Adressen zur primären E-Mail Adresse ändern möchte?

Inhaltsverzeichnis

  • 1 Mehrere E-Mail-Adressen in Exchange
    • 1.1 Synchronisierung der E-Mail-Adressen im AD
  • 2 Primäre E-Mail-Adresse in Exchange ändern
    • 2.1 Remote Zugriff auf Exchange mit PowerShell 
    • 2.2 Get-Mailbox und Set-Mailbox importieren
    • 2.3 NewPrimaryMail festlegen
    • 2.4 Liste an Mailbox übergeben
  • 3 Das komplette Skript: Ändern der primären E-Mail-Adresse mit PowerShell

Mehrere E-Mail-Adressen in Exchange

Die E-Mail-Adressen eines Nutzers werden in Exchange aufgelistet. Dabei wird die Standardantwortadresse fett formatiert angezeigt.

Mehrere E-Mail-Adressen in Exchange

Synchronisierung der E-Mail-Adressen im AD

Diese Adressen werden von Exchange auch ins Active Directory synchronisiert. Der Wert im Attribut „mail“ ist dabei die primäre Adresse. Praktikabel ist auch, dass eine ähnliche Ansicht mit allen Adressen wie im Exchange über das Attribut „proxyAdresses“ verfügbar ist:

Anzeigen der proxyAddresses

Primäre E-Mail-Adresse in Exchange ändern

Über die Exchange Admin-Oberfläche lässt sich die primäre Mailadresse einfach ändern. Mit Powershell ist es ein wenig umständlicher, allerdings auch möglich.

Wichtig ist hierbei zu wissen, wie Exchange intern feststellt, welche E-Mail-Adresse die primäre ist. Leider wird dies nicht so klar geregelt, wie im ActiveDirectory. Intern speichert Exchange alle E-Mail-Adressen im selben Attribut ab, zusammen mit einem Protokoll-Präfix, dass auch in der Verwaltungsoberfläche im Exchange sichtbar ist. In der Regel ist dies „smtp:“. Die primäre E-Mail-Adresse weist dabei einen kleinen, aber wichtigen Unterschied auf: Das „SMTP:“ vor der Adresse ist großgeschrieben.

Wollen wir also eine der Proxy-Adressen als primäre festlegen, müssen wir das SMTP-Präfix dieser groß schreiben und die Präfixe aller anderen Adressen klein.

Remote Zugriff auf Exchange mit PowerShell 

Wir wollen in diesem Beispiel Remote auf den Exchange zugreifen, d.h. nicht direkt auf der Exchange-Management Konsole arbeiten. Dazu brauchen wir eine PS-Session. Wir importieren uns die Exchange-Session des Servers über die URL, die sich folgendermaßen zusammensetzt:

https://<Name oder IP des Server>/PowerShell

Get-Mailbox und Set-Mailbox importieren

Zudem werden wir uns nicht die gesamte Session importieren, sondern nur die CmdLets „Get-Mailbox“ und „Set-Mailbox“, da wir andere nicht benötigen. Der Session-Import sieht folgendermaßen aus:

PowerShell
1
2
3
4
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri
“https://exc16/PowerShell” -Authentication Kerberos
 
Import-PSSession $session -CommandName Get-Mailbox, Set-Mailbox

Zuerst brauchen wir jetzt einen Identifier für den Nutzer (seinen Login-Name, seine primäre E-Mail-Adresse oder seine objectGUID), dessen Mailbox wir bearbeiten möchten. So suchen wir uns seine Mailbox heraus:

PowerShell
1
$mb = Get-Mailbox steve.koenig

Zusätzlich initialisieren wir noch eine leere Array-Liste, in der wir unsere E-Mail-Adressen speichern werden.

PowerShell
1
$list = New-Object System.Collections.ArrayList<br /><br />

NewPrimaryMail festlegen

Außerdem legen wir noch fest, welche Mail-Adresse die neue, primäre Adresse sein soll. Dieses sollte dem Postfach bereits zugeordnet sein.

PowerShell
1
$newPrimaryMail = "koenig.steve@demofa.net"

Im nächsten Schritt iterieren wir über die E-Mail-Adressen der Mail. Da diese mit dem Präfix eingetragen sind, splitten wir sie einfach am Doppelpunkt auf und merken uns sowohl das Präfix, als auch die Adresse selbst.

PowerShell
1
2
3
4
   foreach($address in $mb.EmailAddresses) {
      $prefix = $address.Split(":")[0]
      $mail = $address.Split(":")[1]
   }

Jetzt kommt der Schritt zur eigentlichen Änderung der primären Mail-Adresse: Wir vergleichen die Adresse mit unserer $newPrimaryMail. Sind diese gleich, fügen wir sie mit dem großgeschriebenen Präfix „SMTP:“ zu unserer Liste hinzu. Wenn nicht, dann ist es eine weitere Adresse, die wir mit dem bereits eingetragenen Präfix, allerdings kleingeschrieben, der Liste hinzufügen.

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
   foreach($address in $mb.EmailAddresses) {
      $prefix = $address.Split(":")[0]
      $mail = $address.Split(":")[1]
  
      if ($mail.ToLower() -eq $newPrimaryMail.ToLower()) {
      $address = "SMTP:" + $mail
      }
      else {
          $address = $prefix.ToLower() + ":" + $mail
      }
 
      $list.Add($address)
   }

In unserer Liste sollte also nun unsere neue, primäre Adresse mit einem großem „SMTP“ als Präfix und alles anderen mit einem kleingeschriebenen Präfix stehen.

Liste an Mailbox übergeben

Letztlich müssen wir einfach nur noch die Liste an die Mailbox übergeben und die alte damit überschreiben (und nicht vergessen, die PS-Session wieder zu schließen):

PowerShell
1
2
Set-Mailbox steve.koenig -EmailAddresses $list
Remove-PSSession $session

Die Änderungen sind in der Exchange-Verwaltung sofort ersichtlich und synchronisieren sich vom Exchange anschließend auch ins AD.

Neue primäre E-Mail-Adresse in Exchange

Das komplette Skript: Ändern der primären E-Mail-Adresse mit PowerShell

Zum Abschluss hier noch einmal das gesamte Skript:

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
   $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri
“https://exc16/PowerShell” -Authentication Kerberos
 
   Import-PSSession $session -CommandName Get-Mailbox, Set-Mailbox
 
   $mb = Get-Mailbox steve.koenig
   $newPrimaryMail = "koenig.steve@demofa.net"
   $list = New-Object System.Collections.ArrayList
 
   foreach($address in $mb.EmailAddresses) {   
       $prefix = $address.Split(":")[0]
       $mail = $address.Split(":")[1]
       if ($mail.ToLower() -eq $newPrimaryMail.ToLower()) {
            $address = "SMTP:" + $mail
       }
       else {
           $address = $prefix.ToLower() + ":" + $mail
       }
 
       $list.Add($address)
   }
 
   Set-Mailbox steve.koenig -EmailAddresses $list
 
   Remove-PSSession $session

 

Artikel weiterempfehlen:
  • teilen
  • tweeten
  • sharen
  • xingen
  • mailen
Artikel erstellt am: 22.05.2018
Tags: ExchangeGet-MailboxnewPrimaryMailprimäre E-MailproxyAddressesSet-Mailbox
1

You also might be interested in

LastLogon vs. LastLogonTimestamp

LastLogon vs. LastLogonTimestamp

Jan 20, 2021

Möchten Sie von einem Active Directory-Benutzer den Zeitpunkt der letzten[...]

"Senden als"-Berechtigung

Exchange – „Senden als“-Berechtigung mit PowerShell

Sep 19, 2017

In Exchange gibt es die Möglichkeit, eine „Senden als“-Berechtigung für[...]

Bitlocker-Recovery Password mit PowerShell auslesen

Bitlocker-Recovery Password mit PowerShell auslesen

Nov 2, 2020

In vielen Unternehmen wird die Verschlüsselung mit BitLocker genutzt. BitLocker[...]

1 Comment

Leave your reply.

Leave a Reply

<p>Danke für Ihre Anregungen, Fragen und Hinweise.<br/>Infos zum <a href="https://www.active-directory-faq.dekontakt/">Datenschutz</a></p>
Cancel Reply

FirstWare IDM-Portal im Test: IT-Administrator 08-2022

 

ADFAQ-FirstAttribute

Wer schreibt ?

Team der FirstAttribute AG

Consultants und Entwickler der FirstAttribute arbeiten seit mehr als 20 Jahren in IAM- und Cloud-Transition-Projekten.
Zusammen verfügen Sie über einen wertvollen Erfahrungsschatz im Bereich Active Directory und Azure AD und teilen diesen auf Active Directory FAQ.

Neueste Artikel

  • 8 Tipps für mehr Sicherheit in Active Directory und Backups von AD
  • Azure AD Custom Security Attributes ermöglichen flexible Berechtigungsstrukturen
  • Dateiberechtigungen in MS Teams und SharePoint Online verwalten – So funktioniert es
  • AD-Gruppen in Microsoft Teams verwenden – Dynamische Gruppen in der Praxis
  • Verbindung zwischen Microsoft 365 und SharePoint Online zu Azure AD

Unsere IAM-Lösungen

Ihre IAM-Lösung: FirstWare IDM-Portal

 

my-IAM für Cloud Identity Management in Microsoft Teams

Kontakt aufnehmen

Sie haben eine Frage oder Anmerkung? Schicken Sie uns schnell eine Nachricht.

Nachricht senden
Jetzt AD Tasks vereinfachen und delegieren: FirstWare IDM-Portal

Folgen Sie uns

Kontakt

  • FirstAttribute AG
  • Am Büchele 18, 86928 Hofstetten, Germany
  • +49 89 215 442 400
  • https://www.firstattribute.com

Schlagwörter

.Net ACL Active Directory AD LDS AD Objekt Azure AD Berechtigung Cloud cmdlets Delegation Domain Controller dynamicgroup dynamische Gruppen Exchange Exchange-Ordner Exchange-Postfach Exchange Migration Federation FirstWare Get-Mailbox Global Catalog Group Policy Gruppen Gruppenmitgliedschaft IDM-Portal LDAP m365 Microsoft Azure Migration New-ADUser Novell NTFS Office 365 PowerShell QMM QMM AD QMM Exchange Quest Migration Manager Schema Set-ADUser SID SID History Update Windows 10 Windows Server 2012 R2

Neueste Kommentare

  • activedirectoryfaq.com sharepoint login - infoslist bei Windows 365 und Azure AD verstehen in Theorie und Praxis
  • Domäne Letzte Anmeldung - ObenGesichert.com bei LastLogon vs. LastLogonTimestamp
  • Teams Code Zur Anmeldung - ObenGesichert.com bei Authentifizierung für MS Teams in hybriden Netzwerken
Login
Impressum
Datenschutzerklärung

© 2023 · Active-Directory-FAQ by firstattribute.com

Prev Next