Linked Mailbox
Beachten Sie dazu auch die Seiten Ressourceforest, Disabled Account, Ressourceforest und Gruppenrechte und ADSync Funktion.
Achtung mit Office 365
User mit einer Linked Mailbox werden per Default nicht in die Cloud
synchronisiert. ADSync geht davon aus, dass dies keine
Anmeldekonten sind und wartet auf das Anmeldekonto
Siehe dazu auch
Office 365:DirSync Check,
Office
365:DirSync mit Exchange und
Hybrid
Ressource Forest.
Was unter Exchange 2000/2003 der Disabled Account war, wurde unter Exchange 2007/2010 die Linked Mailbox. Sie dient dazu, in einer Konfiguration von Exchange als Ressourceforest einen Benutzer ein Postfach bereit zu stellen, obwohl das Anmeldekonto nicht im gleichen Forest ist, in dem auch Exchange installiert ist. Dies kann bei Migrationen hilfreich sein, wenn das Postfach unabhängig vom Anmeldekonto im Rahmen einer Migration Org2Org umgestellt wird. Es kann aber bei Firmen zum Einsatz kommen, bei denen Exchange eben in einem separaten Forest betrieben wird.
Grundlegende Funktion
Technisch handelt es sich wie bei Exchange 2000/2003 mit Disabled Account um ein Active Directory Benutzer mit einem Postfach. Auch dieser Benutzer ist per Default deaktiviert. Allerdings ist dies für Exchange 2007/2010 nicht mehr der entscheidende Faktor. Exchange 2007/2010 hat das neue Feld msExchRecipientTypeDetails, um die Postfächer genauer zu bezeichnen. Die Postfächer erscheinen auch einfach in der Liste wie alle anderen Postfächer auch.
Eine Linked Mailbox kann auch einfach über die GUI angelegt werden.
Der Assistent entspricht anfangs noch der Anlage einer normalen Mailbox. nur nach der Konfiguration der Policies kommt ein neuer Dialog, im dem die Verbindung zum Anmeldekonto hergestellt wird:
Allerdings ist es natürlich bei einer größeren Anzahl von Benutzern und Postfächern schon einfacher, dies per Skript auszuführen.
Die Mailboxen selbst lassen sich auch per PowerShell mit "Get-User" oder "Get-maibox" recht einfach ausgeben.
Wenn Sie wie hier das Feld "LinkedMasterAccount" mit einer SID angezeigt bekommen, dann war während der Abfrage der DC der Anmeldedomäne nicht verfügbar. Exchange versucht natürlich schon die SID in einen Anmeldenamen (Domäne\SamAccountname) umzuwanden. Hinter den Kulissen ist aber nichts neues zu sehen, da wie bei Exchange 2000/2003 auch die gleichen Felder zur Speicherung genutzt werden.
- Understanding Recipients
http://technet.microsoft.com/en-us/library/bb201680(EXCHG.80).aspx - How to Create a Linked Mailbox
http://technet.microsoft.com/en-us/library/bb123524(EXCHG.80).aspx
Postfachberechtigungen
Auch bei den Berechtigungen auf das Postfach gibt es keine Überraschungen.
Hinweis:
Auch diese Bilder wurden absichtlich mit nicht erreichbarem Anmelde-DC
gemacht, um die SID anzuzeigen. In einer produktiven Umgebung sollte
hier immer der Anmeldename stehen. Beachten Sie aber, dass die Anzeige
des Anmeldenamens nur korrekt ist, solange das Anmeldekonto nicht z.B.
perADMT mit SIDHistory bereits
migriert wurde. Dann würde irrtümlich der lokale Benutzer angezeigt.
Entgegen einem "Normalen Postfach" hat die Linked Mailbox zusätzlich das Anmeldekonto in den ACLs für die Postfachrechte und die SendAs-Rechte, wie hier gut zu sehen ist:
Soweit ist die Funktion noch einfach erklärt.
Hinweis: Es gibt aber noch Besonderheiten bei Verteilern, Gruppen und Berechtigungen. Siehe dazu Ressource Forest
Es gab mit Exchang 2012 hier sogar mal einen Fehler, dessen Korrektur im Exchange 2013 CU10 erfolgte. Die Beschreibung zeigt aber gut, dass der Benutzer im Account-Forest berechtigt werden muss
Assume that you deploy a linked mailbox in a Microsoft Exchange Server 2013 forest, and the linked mailbox is associated with a disabled user account that's in a trusted account forest. When you run the Add-MailboxPermission cmdlet to grant permissions for the linked mailbox, the permissions are granted to the wrong account in the Exchange Server 2013 forest instead of the account in the account forest.
Quelle
https://support.microsoft.com/en-us/topic/permissions-for-a-linked-mailbox-are-added-to-an-account-in-the-wrong-forest-in-an-exchange-server-2013-environment-7efff06d-113e-050e-5aea-c53a0e73f31d
- Permissions for a linked mailbox are
added to an account in the wrong forest in
an Exchange Server 2013 environment
https://support.microsoft.com/en-us/topic/permissions-for-a-linked-mailbox-are-added-to-an-account-in-the-wrong-forest-in-an-exchange-server-2013-environment-7efff06d-113e-050e-5aea-c53a0e73f31d
Anforderungen an die Quelldomain
Habe ich auf Exchange 2000 mit Windows NT4 noch geschrieben, wie NT4-Anwender in den Genuss von Exchange 2000+ kommen, so ist ab Exchange 2010 als Mindestvoraussetzung ein Windows 2003 SP1 DC in der Account-Domain erforderlich. Ansonsten können Sie keinen LinkedAccount konfigurieren. Ansonsten sehen Sie z.B.: folgende Fehlermeldung:
[PS] C:\>Connect-Mailbox -Identity test -Database "mb1" -LinkedDomainController dc2.logondomain.tld -LinkedMasterAccount test Failed to resolve the linked master account and verify it exists in a forest different from the one hosting Exchange. The error messasge is : The operating system version of the domain controller 'dc2.logontomain.tld' is 5.0 (2195) Service Pack 4. The minimum version required is 5.2 (3790) Service Pack 1. CategoryInfo : NotSpecified: (:) [], TaskInvalidOperationException + FullyQualifiedErrorId : CA9E8C4C
Damit folgt Microsoft seinen üblichen Maßstäben, dass Sie immer die aktuelle (Windows 2008R2) und die beiden vorherigen Version (Windows 2008/2003) unterstützen.
Anforderungen an Autodiscover
Nun ist es aber so, dass sowohl beim Betrieb als Ressourceforest als auch als bei der Migration der Anmeldebenutzer und der Arbeitsplatz in einem anderen Forest sein können. In dem anderen Forest kann Exchange installiert sein, muss aber nicht. In beiden Fällen muss natürlich Outlook einen Weg zu seinem Exchange Server finden. Outlook 2007 und höher nutzen dazu Autodiscover und suchen zuerst per LDAP im Active Directory nach den CAS-Servern zu suchen.
In einer reinen Umgebung mit einem Anmeldeforest ohne Exchange wird Outlook natürlich erst mal nichts finden. Entsprechend müssen Sie über die DNS-Auflösung (autodiscover.<maildomain>) mit passenden Zertifikaten gehen oder die SCPs des Exchange Forest in den Anmeldeforest kopieren.
Konvertierung von Linked Mailbox zu User Mailbox
Ein häufiger Fall bei Migrationen ist die getrennte Umstellung von Benutzerkonten (mit ADMT) und der Exchange Postfächern. In dem Fall wird Exchange dann zumindest für eine Übergangszeit als Ressourceforest betrieben, d.h. der Benutzer meldet sich noch in der alten Umgebung an während das Postfach schon in die neue ZielUmgebung migriert wurde. In der ZielUmgebung ist dann das Platzhalterkonto "deaktiviert" und hat ein "Externes zugewiesenes Konto, welches später aktiviert wird. Wird das Anmeldekonto zuerst migriert, dann wird der Quellbenutzer entsprechend "deaktiviert" und zu einer Linked Mailbox, bis die Inhalte übertragen wurden.
Es gibt also einen Bedarf, ein Postfach in die ein oder andere Richtung zu konvertieren. Dies wird von Microsoft in der TechNet als auch von einigen anderen Autoren beschrieben. leider gibt es derer mittlerweile drei verschiedene Wege, die je nach Version gangbar ist.
Seit Exchange 2010 SP1 gibt es mit "Set-User" ein passendes Commandlet:
Dies ist mein empfohlener Weg, der aber nur mit Exchange 2010 genutzt werden kann. Exchange 2007 kennt diese Parameter noch nicht, so dass die Administratoren die zweite oder dritte Option wählen müssen.
Seit Exchange 2010 ist es sehr einfach möglich, über das Commandlet "Set-User" aus einer Linked Mailbox eine Usermailbox und umgekehrt zu machen. Es gibt aber keine GUI-Version davon, so dass Sie mit der PowerShell arbeiten müssen:
# Linked mailbox in Usermailbox verwandeln Set-User User1 -LinkedMasterAccount $null
Danach ist aus der Linked-Mailbox eine Benutzermailbox geworden. Leider macht Set-User aber nur die Einstellungen bezüglich Exchange. Folgende Dinge sollten Sie beachten
- Konto wird nicht aktiviert
Damit der Anwender nun mit dem neuen Konto sich auch anmelden kann, müssen Sie das Konto aktivieren. Per Default sind die AD-Benutzer für "Linked- Maiboxen" deaktiviert. Denken Sie auch an das Kennwort etc. - Send-As-Rechte entfernen (Senden
als)
Durch die Konvertierung wird das Send-As-Recht für den "LinkedAccount" nicht entfernt !. Damit keine Missbrauchslücke offenbleibt, sollten Sie diese Berechtigungen dem früheren Anmeldekonto wegnehmen, z.B. mit:
Get-ADPermission ` -identtiy User1 ` -User w2003\User1 ` | Remove-ADPermission ` -Confirm:$false
- Full Mailboxaccess entfernen
Das Konto der früheren Anmeldedomäne hat auch noch volle Zugriffsrechte auf das Postfach, welche nach der Aktivierung des Postfachs ebenfalls überflüssig sind. Auch diese können Sie nicht nur mit der GUI, sondern auch per PowerShell anpassen:
Get-MailboxPermission ` -identity User1 ` -User w2003\User1 ` | Remove-MailboxPermission ` -Confirm:$false
Das Management und die Konvertierung wird natürlich noch einfacher, wenn Sie die Benutzer und ihre Anmeldekonten vorher als Liste extrahiert haben oder gleich ein kleines Skript schreiben.
- Manage Send As Permissions für a Mailbox
http://technet.microsoft.com/en-us/library/bb676368.aspx - Outlook issues when the msExchMasterAccountSID attribute exists on a user
account in Active Directory
https://docs.microsoft.com/en-us/exchange/troubleshoot/migration/issue-msexchmasteraccountsid-on-user-account
Konvertierung von User Mailbox zu Linked Mailbox
Auch in die Gegenrichtung kann die Mailbox konvertiert werden. Seit Exchange 2010 SP1 gibt es mit Set-User ein passendes Commandlet.
Achtung:
Dieser Befehl deaktiviert das Windows Benutzerkonto, an dem die
Postfachinformationen gespeichert sind!
Aber hier sind etwas mehr Parameter zu füllen, das Sie ja nun den LinkedAccount, einen DC der Anmeldedomain und Anmeldedaten für die Anmeldedomain mitgeben müssen.
# UserMailbox in LinkedMailbox verwandeln. Anmeldedaten für Accountdomain $cred = Get-Credential Set-User User1 ` -LinkedMasterAccount W2003\User1 ` -LinkedDomainController dc2003.w2003.dom ` -LinkedCredential $cred
So schnell und einfach wird aus einer User-Mailbox dann wieder eine "Linked-Mailbox". Aber auch hier ist dies nur der erste Teil, da auch hier Set-User eine ganze Menge Einstellungen nicht durchführt, die Sie noch nachholen müssen.
Hinweis:
Anscheinend hat Microsoft gelernt und zumindest
bei Exchange 2010 SP3 scheint Set-User auch die
Rechte auf das Postfach zu setzen. Eine
Kontrolle der folgenden Schritte ist dennoch
ratsam.
Wie bei der Gegenrichtung sind dies:
- Vollzugriff auf die Mailbox für das Anmeldekonto
Das neue Anmeldekonto muss natürlich Vollzugriff auf das Postfach erhalten. Allein über den Eintrag der MasterAccountSID bekommt der Anwender keine Rechte
Get-MailboxPermission User1 ` | Add-MailboxPermission ` -User w2003\User1 ` -AccessRights FullAccess
- SendAs für das Anmeldekonto (Senden
als)
Das gleiche gilt für die Berechtigung, mit dem Postfach aus zu senden. Ich habe schon gesehen, dass diese Recht automatisch mit "Set-User" auch mit gesetzt wird. Sie sollten die Berechtigung aber zumindest prüfen.
Add-ADPermission ` -identity User1 ` -User w2003\User1 ` -Extendedrights "Send As"
- Deaktivieren des Kontos
Das Konto wurde schon durch Set-User deaktiviert. Aber vielleicht wollen Sie das ja gar nicht, dass das Postfachkonto deaktiviert ist. Wenn der Anwender für eine Übergangszeit mit beiden Konten arbeiten soll, dann müssen Sie das Konto umgehend wieder aktivieren.
Ich finde diesen Weg eigentlich den elegantesten Ansatz, da keine Daten verloren gehen. Allerdings benötigen Sie dazu Exchange 2010 SP1.
Der Vollständigkeit halber möchte ich auch die beiden anderen Wege noch aufführen:
Mailbox Disconnect und Reconnect
Dieses Verfahren kann ich nicht empfehlen, da durch den Disconnect beim Benutzer alle Exchange Properties entfernt werden. Auch wenn der Reconnect sehr schnell erfolgt, müssten also Proxyadressen, ActiveSync-Richtlinien, Archivpostfächer und vieles mehr neu eingerichtet werden.
Dies aber leider der Weg, der sowohl bei Microsoft als auch vielen Blogs beschrieben wird. Bei Exchange 2007 ist lange Zeit gar nichts anderes möglich gewesen, zumindest wenn man nicht selbst direkt per LDAP an den AD-Attributen rumschreiben wollte.
Hier der Vollständigkeit halber die Links zu den entsprechenden Seiten
- How to Convert a mailbox to a Linked mailbox
http://technet.microsoft.com/en-us/library/bb201694.aspx - How to Convert a Mailbox
http://technet.microsoft.com/en-us/library/bb201749(EXCHG.80).aspx - Create a Linked Mailbox
http://technet.microsoft.com/en-us/library/bb123524.aspx - Convert Linked Mailboxes to User Mailboxes in Bulk
http://daiowen.blogspot.com/2010/05/convert-linked-mailboxes-to-User.html - Converting mail-enabled Recipient-to Mailbox
http://romanroz.blogspot.com/2008/12/converting-mail-enabled-recipient-to.html
Unschön bei dieser Umsetzung ist nur, dass alle Beschreibungen erst ein "Disconnect" der Mailbox mit einem späteren "Connect" vorsehen. Ein Disconnect löscht aber auch sehr viele andere Exchange Eigenschaften (z.B. Quota, Policies und vor allem ProxyAdressen), die vorher kopiert werden müssten.
"Update Recipient" Commandlet
Diesen Weg habe ich eher Zufällig bei der Umsetzung mit einem Identity-Projekt entdeckt. Hierfür hat Microsoft mit "Update-Recipient" einen Weg geschaffen, die MIIS und andere Produkte per LDAP bestimmte Werte "vorgeben" können und Exchange dann mit Update-Recipient" die erforderlichen sonstigen Eintragungen vornimmt.
Seit Exchange 2010 gibt es mit "Update-Recipient" ein neues Commandlet, welches eigentlich für den Einsatz mit Identity Management Systemen gedacht ist.
Genau dieses Tool wandelt aber ohne Probleme Postfächer in LinkedMailboxen und zurück. Man muss nur das Feld "msExchMasterAccoundSID" entsprechend setzen oder löschen und einmal "Update-Recipient" aufrufen.
- Update-Recipient
- Update-Recipient
http://technet.microsoft.com/de-de/library/bb738148.aspx
Ein Versuch dies per Set-Mailbox zu erreichen, war zumindest in meinen TestUmgebungen nicht möglich.
Linked Remote Mailbox mit Office 365
Ein Sonderfall ist nun natürlich der Betrieb mit Office 365. Der ADSync unterstützt auch diese Kombination, da er das lokale Anmeldekonto und die Linked Mailbox zusammenführt und als eine Mailbox in der Cloud verwaltet. Bei einer Migration in die Cloud wird aus der Linked Mailbox im Exchange Ressource Forest natürlich technische ein MailUser bzw. aus Sicht von Exchange eine "Remote Mailbox". Sie muss aber weiterhin mit dem eigentlichen Anmeldekonto verknüpft sein. Das ist über das Feld "msexchMasterAccountSID" auch gewährleistet. Allerdings "sehen" sie das nicht mehr in der lokalen Exchange Konsole. Es gibt keinen Typ "Linked Remote Mailbox"
Bei der Neuanlage eines Postfachs in der Cloud müssen wir nun aber auch eine bestimmte Reihenfolge einhalten, die zudem zeitnah erfolgen muss, damit ADSync die Verbindung der Objekte versteht.
- ADSync anhalten
Wir möchten nicht, dass noch während des Provisioning ADSync die halbfertigen Objekte sieht. Problematisch wäre es, wenn ADSync das Anmeldekonto ohne Exchange Linked Mailbox findet, in der Cloud anlegt und durch eine Lizenz sogar ein Postfach angelegt würde. - Anmeldekonto anlegen
Zuerst legen wir das Konto an, welches der Anwender zur Authentifizierung nutzt. Es hat also den passenden UPN für die Cloud und muss später ja als "Linked Account" gefunden werden - Neue Remote Mailbox anlegen
Über die Exchange PowerShell legen wir nun eine normale "Remote Mailbox" an. Wir sollten uns nun aber beeilen, da sonst ADSync das Konto als separates Konto betrachtet und wir dann zwei Konten in AzureAD haben. - "LinkedMasterAccount" setzen
Daher ist es ratsam im gleichen Zug auch die Verbindung zum Anmeldekonto für Exchange zu setzen. Das geht leider nicht per Exchange PowerShell, sondern per AD-PowerShell. - ADSync wieder starten
Nun darf ADSync beide Quellen importieren, die Benutzer "mergen" und ein passendes Objekt in Exchange Online anlegen.
Der letzte Schritt ist zusätzlich erforderlich.
# Remote Mailbox anlegen Enable-RemoteMailbox ` -Name "User1" ` -UserPrincipalName "user1@resourceforest.tld" ` -Password (ConvertTo-SecureString -String "SuperGeheim4me!" -AsPlainText -Force) ` -RemoteRoutingAddress user@uclabor.mail.onmicrosoft.com # LinkedMasterAccount Feld setzen cred = Get-Credential [ Set-User ` -Identity user1@exchange.uclabor.de -LinkedCredential $AccountsCred ` -LinkedDomainController ACCDC01.accounts.local ` -LinkedMasterAccount "exchangedom\user1"
Daraus resultiert dann auch der passende Eintrag in msExchRecipientTypeDetails in msExchRecipientDisplayType
Wichtig ist, dass die Zuordnung zeitnah erfolgt. Sie können auch vorab schon mit Set-User das Feld füllen, denn der "Enable-RemoteMailbox" scheint das Feld msexchMasterAccountSID nicht zu überschreiben. Das sollten Sie aber auf jeden Fall noch mal kontrollieren. Wenn Sie das Postfach aber mit "New-RemoteMailbox" anlegen, dann setzen Sie den LinkedMasterAccount direkt im Anschluss. In so einem Fall sollten Sie bei allen Commandlets den gleichen Domain Controller nutzen, um die AD-Replikation zu umgehen.
Wenn Sie ADSync nicht anhalten können aber die Unsicherheit verhindert werden muss, dann können Sie die Objekte in einem "Staging-Bereich" anlegen, den ADSync nicht sieht. Das kann per LDAP-Filter oder eine ausgeschlossene OU sein. Erst wenn dann alle Properties gesetzt sind, verschieben Sie zuerst das Exchange Objekt und im Anschluss das Anmeldekonto in den Sichtbereich von ADSync.
- Hybrid Resource Forest
- msExchRecipientTypeDetails
- Ressource Forest
- Exchange 2000/2003 Disabled Account und msExchMasterAccountSid
- New-RemoteMailbox
https://docs.microsoft.com/en-us/powershell/module/exchange/federation-and-hybrid/new-remotemailbox?view=exchange-ps - Exchange Resource Forest and Office 365
- Part 4
https://jaapwesselius.com/2018/05/01/exchange-resource-forest-and-office-365-part-iv/ - Using security groups to set calendar
permissions does not work in an Exchange
resource forest
https://support.microsoft.com/en-us/topic/using-security-groups-to-set-calendar-permissions-does-not-work-in-an-exchange-resource-forest-86d65464-9f5c-96c4-4afb-8b9af644e31b
Linked Mailbox mit ADSIEDIT
Mit Exchange 2003 war die Verwandlung einer Mailbox in eine LinkedMailbox relativ einfach. Das Konto wurde einfach deaktiviert und schon war im Kontextmenü von Exchange die Funktion, ein externes Konto zuzuweisen. Das ist mit Exchange 2007 so nicht mehr, weil eben die Information nicht mehr an dem Status "deaktiviert" sondern an den msExchRecipientTypeDetails fest gemacht wird. Und da ich noch kein "Native Commandlet" für Exchange 2007 gefunden haben, bleibt eben ADSIEDIT oder andere Tools.
Selbst ein Set-Mailbox kann nicht nachträglich den Linked Account eintragen:
[PS] C:\>Set-Mailbox User -LinkedMasterAccount logon\User -LinkedDomainController dc.logon.de -LinkedCredential $cred Set-Mailbox : 'LinkedMasterAccount' kann nicht für Benutzer-, Raum-, Geräte- oder freigegebene Postfächer festgelegt werden. Bei Zeile:1 Zeichen:12
Der Fehler ist auf einem Exchange 2007 vorhanden, selbst wenn das Postfach eine "LinkedMailbox" ist. Insofern bleibt nur der Weg "von Hand". Folgende Eintragungen sind relevant
- msExchRecipientTypeDetails =
2
Damit wird aus der Mailbox eine "Linked Mailbox" - msExchMasterAccountSID
setzen
Hierbei müssen Sie das Feld "ObjectSID" der Quell in das Ziel kopieren. - Berechtigungen anpassen
SendAs und Full Mailbox Access
Neben dem Konto "Selbst" hat auch das externe Konto die entsprechenden Rechte. In Exchange 2010 wird das SendAs-Recht allerdings über Add-ADPermission addiert.
Add-MailboxPermission -Identity mbUser -User logon\User -AccessRights fullacccess Add-MailboxPermission -Identity mbUser -User logon\User -AccessRights SendAs
- Konto deaktivieren
Ziel ist es ja ein "Single SignOn" zu betreiben. Wenn es ein primäres Anmeldekonto gibt, dann ist es nur mehr als logisch, das Exchange Postfachkonto zu deaktivieren.
Das ganze sollte man natürlich als Skript machen, denn ADSIEDIT ist auf Dauer zu fehleranfällig.
Weitere Links
- Disabled Account
- Ressourceforest
- Hybrid Ressource Forest
- Update-Recipient
- CheckDuplicateExternalSID
- LDAP-Felder
- msExchRecipientTypeDetails
- Org2Org Tools
-
Ressourceforest und
Gruppenrechte
Berechtigungen über Verteiler greifen im Ressource Forest nicht - Set-User
http://technet.microsoft.com/en-us/library/aa998221.aspx - Org2Org Tools
-
Manage linked mailboxes in Exchange Server
https://learn.microsoft.com/en-us/exchange/recipients/linked-mailboxes?view=exchserver-2019 -
Outlook issues when the msExchMasterAccountSID attribute
exists on a user account in Active Directory
https://docs.microsoft.com/en-us/exchange/troubleshoot/migration/issue-msexchmasteraccountsid-on-user-account - Bulk modify linked mailboxes to User mailboxes in Exchange 2007
http://www.thesoundtrackofmylife.at/post/2009/01/13/Bulk-modify-linked-mailboxes-to-User-mailboxes-in-Exchange-2007.aspx - Directly converting a mail-User to a mailbox without
calling disable-mailUser
http://marksmith.netrends.com/Lists/Posts/Post.aspx?ID=52 - Using EAC to manage multi-forest Exchange
deployments
http://blogs.technet.com/b/exchange/archive/2012/08/30/using-eac-to-manage-multi-forest-exchange-deployments.aspx
RBAC geht auch mit Linked Mailboxes in Resource Forest Szenarien - Everything you need to know about linked mailbox
management
https://blogs.manageengine.com/active-directory/2017/10/19/everything-you-need-to-know-about-linked-mailbox-management.html