Linked Mailbox
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
Berechtigungen
Auch bei den Berechtigungen gibt es keine Überraschungen.
Hinweis:
Auch diese Bilder wurden absichtlich mit nicht erreichbarem AnmeldeDC
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
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:\Scripts>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 und zurück
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.
Exchange 2010 SP1 "Set-User" Commandlet LinkedMailbox->Usermailbox
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 Commendlet "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
[PS] C:\>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 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 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 for a Mailbox
http://technet.microsoft.com/en-us/library/bb676368.aspx
Exchange 2010 SP1 "Set-User" Commandlet Usermailbox-> LinkedMailbox
Auch in die Gegenrichtung können Sie mit Set-User aus einer User Mailbox wieder Linked Mailbox machen.
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
[PS] C:\>$cred = Get-Credentials
[PS] C:\>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. 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
[PS] C:>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.
[PS] C:>Add-ADPermission 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ögöich 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.
Exchange 2010 "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 aber 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 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
- Update-Recipient
- CheckDuplicateExternalSID
- LDAP-Felder
- msExchRecipientTypeDetails
- Org2Org Tools
- Set-User
http://technet.microsoft.com/en-us/library/aa998221.aspx - Or2Org Tools
- 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










