msExchMailboxGUID bzw. MailboxGUID

Jeder Admin kennt die Felder "mail, MailNickName und ProxyAddresses". Aber neben der Kenntnis über TargetAddress" und LegacyExchangeDN ist auch das Wissen um das Feld msExchMailboxGUID bzw. ExchangeGUID nicht allseits bekannt und trotzdem wichtig. Diese unscheinbare Feld stellt zusammen mit dem HomeMDB-Feld die tatsächliche Verbindung zur Mailbox her und hat auch mit Exchange Online eine wichtige Funktion.

Das Feld im AD

Fangen wir erst einmal mit dem lokalen AD und Exchange On-Premises an. Durch die Exchange Schema Erweiterung kommt das Feld in ihre Active Directory. Ein Blick in die Schema-Definition zeigt das Feld und das Format:

Schemadefinition

Das ist aber nur der "technische" Namen, denn an verschiedenen Stellen ist die Schreibweise etwas anders

  • msExchMailboxGUID
    Am Benutzer-Objekte enthält der Name nicht die "Bindestring"
  • MailboxGUID
    Bezeichnung im WMI-Provider, der aus der Datenbank die Liste der Mailboxen generiert.
  • ExchangeGUID
    Bezeichnung in der Exchange 2007 PowerShell Fehlermeldung
    ESM2007 Fehlermeldung
  • AzureAD
    Dort finden Sie die GUID nicht, denn die Exchange Properties stehen nicht im AzureAD, sondern im ExchangeOnlineAD. Siehe dazu auch Azure AD - Ein Verzeichnisdienst, oder zwei oder mehr

Die Funktion

Das Feld enthält eine lang zufällig GUID, die bei Exchange 2003 weder durch den Administrator noch den RUS angelegt wird, sondern durch den Store-Prozess beim ersten Zugriff auf die Mailbox angelegt wird.

Bei Exchange 2007 hingegen ist der Prozess anders, da hier die Exchange Management Shell bei der Konfiguration des Benutzers dieses Feld gleich mit einer (zufälligen) GUID füllen und der Store beim ersten Zugriff des Benutzers die Mailbox nicht finden und dann unter Verwendung der bereits hinterlegten GUID neu erstellt. Mit Get-Mailbox kann die GUID einfach angezeigt werden:

[PS] C:\Windows\system32>get-mailbox fcarius | fl name,*guid*

Name                : Carius, Frank
ExchangeGuid        : e6721880-50d5-41a6-960c-6db2f5b1eb2a
ArchiveGuid         : d990201b-ce0d-40f8-a5f8-cfd674a4dabb
DisabledArchiveGuid : 00000000-0000-0000-0000-000000000000
Guid                : f2eb76c7-a3c0-4dbc-8954-6ae81669e0d1

Fehler bei fehlerhafter Anlage

Das kann zu der Problematik führen, dass in einer Exchange 2007 Umgebung ein User mit den Exchange 2003 Management Tools angelegt wird, aber mangels Exchange 2003 Server und mangels RUS dieser Benutzer für Exchange 2007 nicht sichtbar ist. Ein "Aktivieren" mit folgender Zeile zeigt das Problem:

Get-mailbox | where-object {$_.RecipientTypeDetails -ilike "Legacy*"} |
Set-Mailbox -ApplyMandatoryProperties -verbose
 
WARNING: Object msxfaq.test/TestOU/testUser3 has been corrupted and it is 
in an inconsistent state. The following validation errors have occurred:
 
WARNING: ExchangeGuid is mandatory on UserMailbox.
 
VERBOSE: Set-Mailbox : Administrator Active Directory session settings are:  
View Entire Forest: 'True', Configuration Domain Controller: 'SRV01.msxfaq.test', 
 
VERBOSE: Set-Mailbox : Searching objects "msxfaq.test/TestOU/testUser3 " of
 type "ADUser" under the root "msxfaq.test/TestOU".
 
VERBOSE: Set-Mailbox : Previous operation run on domain controller 
'SRV01.msxfaq.test'.
 
VERBOSE: Set-Mailbox : Processing object "msxfaq.test/TestOU/testUser3".
Set-Mailbox : ExchangeGuid is mandatory on UserMailbox.

Aus dieser Henne-Ei-Thematik kommt man nur mit einem manuellen Eingriff wieder heraus. Nur wenn das Postfach auf einem Exchange 2003 Server liegt, fixt die STORE.EXE den fehlenden Eintrag. Bei Exchange 2007 muss man selbst eine MailboxGUID erstellen und beim Objekt speicher. Das ist aber dank PowerShell und .NET relativ einfach. Das entsprechende Tool finden Sie auf MSXFAQ.DE -Fix-MailboxGuid

Exchange Online

Siehe dazu die eigene Seite EXO und MailboxGUID

Weitere Links