msExchRecipientTypeDetails

Seit Exchange 2007 gibt es einige neue Felder im Active Directory. Das Feld "msExchRecipientTypeDetails" ist z.B. dafür zuständig, die verschiedenen Empfängertypen zu differenzieren, die Exchange 2007 neu anbietet.

Beachten Sie mit Office 365 auch das Feld msExchRemoteRecipientType.

Einmal neugierig geworden habe ich natürlich gleich nachschauen müssen, woran Exchange 2007 denn diese Mailboxtypen fest macht. Die entsprechenden  AD-Felder waren schnell gefunden und ein bisschen spielen mit den Werten brachte interessantes zu Tage. Die Exchange Management Shell kennt und zeigt noch weit mehr Typen ab, die aber noch nicht verwendet werden. Zumindest habe ich sie noch nicht gesehen.

Bitte ändern Sie nicht selbst diese Felder. Ich mache solche Untersuchungen in streng abgeschirmten TestUmgebungen, die ich einfach wieder auf den Startwert setzen kann. In Produktion ist dies nicht ratsam

Hinweis:
Ich habe schon fehlerfreie Objekte bei Kunden gesehen, bei denen nicht alle Werte gesetzt waren. Insbesondere msExchRecipientTypeDetails scheint manchmal leer zu sein und nur msExchRecipientDisplayType gesetzt. Ich hatte auch unstimmige Objekte, z.B. dass der msExchRecipientDisplayType = 1 (UserMailbox) und msExchRecipientTypeDetails  =1073741833 (group) war.

if (msExchRecipientDisplayType -ne $null) {
   # werte Empfänger anhand msExchRecipientDisplayType aus
}
else {
   # werte Empfänger anhand msExchRecipientTypeDetails aus
}

Hier die Liste der mir bekannten Inhalte je nach Empfänger. Übrigens gibt es die ähnlichen Felder auch in Office 365

Typ AD: msExchRecipientDisplayType
O365: RecipientDisplayType
CloudExchangeRecipientDisplayType
AD:msExchRecipientTypeDetails
O365: RecipientTypeDetails

Keine Exchange Funktion

 

0 (0x0)

MailboxUser / UserMailbox

0

1 (0x1)

Linked Mailbox

1073741824

2 (0x2)

Shared Mailbox

1073741824

4 (0x4)

Exchange 2003 Legacy

Nicht Vorhanden

8 (0x8)

MailUser (AD-User mit Kontakt)

6

nicht gesetzt

Room

7

16 (0x10)

Equipment

8

32 (0x20)

Mail Contact

6

64 (0x40)

Mail User

 

128 (0x80)

Mail universal Distribution Group

1

256 (0x100)

Mail non universal Group

 

512 (0x200)

Mail universal Security Group

1073741833

1024 (0x400)

Dynamic Distribution Group

3

2048 (0x800)

Mail-Enabled Public Folder

2

4096 (0x1000)

System Attendant Mailbox

 

8192 (0x2000)

Systemmailbox/Mailbox Database Mailbox

 

16384 (0x4000)

Cross Forest Mail Contact (durch MIIS genutzt)

 

32768 (0x8000)

User

 

65536 (0x10000)

Contact

 

131072 (0x20000)

Universal Distribution Group

 

262144 (0x40000)

Universal Security Group

 

524288 (0x80000)

Non-Universal Group

 

1048576 (0x100000)

Disabled User

 

2097152 (0x200000)

Microsoft Exchange

 

4194304 (0x400000)

Arbitration Mailbox

 

8388608 (0x800000)

MailboxPlan

 

16777216 (0x1000000)

LinkedUser

 

33554432 (0x2000000)

RoomList

 

268435456 (0x100000000)

DiscoverySearchMailbox

 

536870912(0x‭20000000‬)

Organization

4

 

PrivateDistributionGroup

5

 

SystemMailbox oder FederationMailbox

10

 

Role Group

 

1073741824(0x‭40000000‬)

RemoteUserMailbox

-2147483642
-1073741818 (with Hybrid Delegate bzw. Hybrid SendAs)

2147483648 (0x‭80000000‬)

RemoteLinkedUserMailbox

(Siehe auch Linked Mailbox)

-2147483642
-1073741818 (with Hybrid Delegate bzw. Hybrid SendAs)

2147483648 (0x‭80000000‬)

Computer

 

4294967296 (0x‭100000000‬)

RemoteRoomMailbox

-2147481850

8589934592 (0x‭200000000‬)

RemoteEquipmentMailbox

-2147481594

17179869184 (0x‭400000000‬)

RemoteSharedMailbox

 

34359738368 (0x‭800000000‬)

PublicFoldermailbox

 

68719476736 (0x‭1000000000‬)

TeamMailbox

 

137438953472 (0x‭2000000000‬)

RemoteTeamMailbox

 

274877906944 (0x‭4000000000‬)

Monitoring Mailbox

 

549755813888 (0x‭‭8000000000‬‬)

Group Mailbox

 

1099511627776 (0x‭10000000000‬)

LinkedRoomMailbox

 

2199023255552 (0x‭20000000000‬)

AuditLogMailbox

 

4398046511104 (0x‭40000000000‬)

RemoteGroupMailbox

 

8796093022208 (0x‭80000000000‬)

SchedulingMailbox

 

17592186044416 (0x‭100000000000‬)

GuestMailbox

 

35184372088832 (0x‭200000000000‬)

AuxAuditLogMailbox

 

70368744177664 (0x‭400000000000‬)

SupervisoryReview

 

140737488355328 (0x‭800000000000‬)

Interessant sind z.B. "Across Forest Mail Contact" oder auch die Gruppen, die anscheinend nicht zwingend Mailenabled sind. Weitere Informationen hierzu habe ich aber nicht.

Achtung:
Allein das ändern dieser Felder bewirkt nicht automatisch, dass sich der Postfachtyp komplett ändert. Aus einer Mailbox kann man nicht einfach einen Kontakt machen

Anstelle das Active Directory direkt selbst auszulesen, sollten Sie besser mit "Get-Recipient" und entsprechenden Filtern arbeiten. Wer aber dennoch z.B. aus Performancegründen, selbst per ADSI arbeitet, kann folgende Funktion nutzen:

function get-recipienttype  {
       param ($value)
 
       switch ($value) {
             $null        {"noExchange"}
             1            {"UserMailbox"}
             2            {"Linked"}
             4            {"Shared"}
             8            {"Exchange2003Legacy"}
             16           {"Room"}
             32           {"Equipment"}
             64           {"MailContact"}
             128          {"MailUser"}
             256          {"MailUniversalDistributionGroup"}
             512          {"MailnonUniversalGroup"}
             1024         {"MailUniversalSecurityGroup"}
             2048         {"DynamicDistributionGroup"}
             4096         {"MailEnabledPublicFolder"}
             8192         {"SystemAttendantMailbox"}
             16384        {"MailboxDatabaseMailbox"}
             32768        {"AcrossForestMailContact"}
             65536        {"User"}
             131072       {"Contact"}
             262144       {"UniversalDistributionGroup"}
             524288       {"UniversalSecurityGroup"}
             1048576      {"NonUniversalGroup"}
             2097152      {"DisabledUser"}
             4194304      {"MicrosoftExchange"}
             8388608      {"MicrosoftExchange"}
             default      {"unknown:$value"}
       }
}

msExchVersion

Interessant für Migrationen ist auch das Feld msExchVersion, welche seit Exchange 2007 vorhanden ist. Diese Feld ist ein Hinweis auf die Version des Postfachs und wird durch Set-Mailbox bzw. der Migration gesetzt. Folgende Werte kenne ich bislang:

Exchange Version Wert von msExchVersion

Exchange 2000/2003

nicht vorhanden

Exchange 2007

4535486012416

Exchange 2010

44220983382016

Diese Feld ist z.B.: nützlich, wenn sie per Veröffentlichung abhängig von der Postfachversion URLs bereit stellen wollen. Diverse Firewalls und Portallösungen können nämlich abhängig von Gruppenmitgliedschaften oder LDAP-Feldinhalten unterschiedliche Applikationen bereit stellen.

Weitere Links