EXO Objekte unlöschbar

Der hier beschriebene Sonderfall sollte sie nie erwischen. Ich habe einen Tenant mit der Domain "UCLABOR.DE" zurückgebaut, in dem alle Lizenzen gelöscht waren oder die Testlizenzen ausgelaufen waren. Sie wissen, das damit nach ca. 30 Tagen auch die Postfächer gelöscht werden und z.B. aus "MailboxUser" wieder "Mailuser" werden. Dennoch bleiben die Einstellungen der Objekte vorhanden und wenn Sie ADSync deinstallieren, bleiben CloudOnly-User und Gruppen mit der Domain "UCLABOR.de" zurück, die aber die Freigabe der Domain selbst verhindern. Hier meine Story und der Lösungsweg, wenn Sie auch einmal in diesen Sonderfall tappen.

Das Problem

Beim Schreiben der Seite ADSync Deinstallation habe ich ADSync komplett entfernt und wollte als letzten Schritt die Domain "uclabor.de" aus dem Tenant entfernen. Eigentlich macht das AzureAD das auch alleine, wie ich auf  (Siehe Office 365 Domain Umzug/Löschen) beschreibe aber hier hat Azure mit einem Fehler abgebrochen:

Auch der Versuch es im normalen Microsoft 365 Admin-Portal zu löschen, war nicht von Erfolg gekrönt.

Spoiler: Das Problem passiert nur, wenn Sie per ADSync oder manuell solche Exchange Objekte im Tenant angelegt haben und keine Exchange Lizenz mehr haben

Exchange Admin Center

Eine kurze Kontrolle hat gezeigt, dass es wohl noch Exchange Verteiler gibt, die ursprünglich von ADSync angelegt wurden und nun "Cloud Only" Verteiler sind. Ich brauche Sie nicht und daher wollte ich sie einfach löschen. Ich war dann aber schon etwas überrascht, dass ich im Exchange Admin Center die Gruppe gesehen und öffnen konnte aber jegliche Verarbeitung unterbunden war:

Der Tenant hatte nämlich keine einzige Exchange Lizenz mehr. Damit konnte ich im Exchange Admin Center die Gruppe aber nicht mehr editieren aber auch vor allem nicht mehr löschen.

Microsoft Admin Center

Aber es gibt ja noch das normal Microsoft 365 Admin Center. Auch hier sind die Gruppen zu sehen. Aber auch da zeigt sich ein sehr ähnliches Bild:

Auch "Mail-enabled security group" hat das gleiche Problem, dass Sie "unverwaltbar" ist:

Weniger versierte Administrator würden hier dann ein Supportticket aufmachen oder anderweitig Hilfe suchen:

Azure Admin Portal

Hinter Office 365 steht aber ein Azure AD und unter https://portal.azure.com können Sie die gleichen Objekte ebenfalls bearbeiten. Hier war die Gruppe auch zu finden.

Bei der Gruppe ist mir wie bei anderen vergleichbaren Gruppen aufgefallen, dass sie sich in der Listenübersicht unterscheiden. Sie haben keine Checkbox für Massenänderungen:

Im AzureAD-Portal ist das Feld "Email" grau hinterlegt und kann nicht editiert werden. Das Objekt kann aber auch nicht gelöscht werden

Sie sehen aber auch hier, dass ich keine Fehler bearbeiten kann, obwohl "Source = Cloud" ist und auch hier ist der "Delete"-Button grau. Damit sind die Optionen zum Löschen per Browser ausgeschöpft.

AzureAD PowerShell

Den nächsten Versuch habe ich mit der AzureAD PowerShell und einer zweiten Gruppe gestartet.

Die Fehlermeldung ist genereller Natur und sagt mir, dass ich per AzureAD PowerShell anscheinend generell keine mailaktivierten Sicherheitsgruppen oder Verteiler löschen kann.

PS C:\> Get-AzureADGroup -SearchString CloudMailSG| Remove-AzureADGroup
Remove-AzureADGroup : Error occurred while executing RemoveGroup
Code: Request_BadRequest
Message: Cannot Delete a mail-enabled security groups and or distribution list.
RequestId: 90877fc5-f8f8-411b-8b5c-9811af468abc
DateTimeStamp: Sat, 26 Mar 2022 00:09:33 GMT
HttpStatusCode: BadRequest
HttpStatusDescription: Bad Request
HttpResponseStatus: Completed
In Zeile:1 Zeichen:46
+ Get-AzureADGroup -SearchString CloudMailSG | Remove-AzureADGroup
+                                              ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Remove-AzureADGroup], ApiException
    + FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.RemoveGroup

Das scheint meine Überlegungen von Azure AD - Ein Verzeichnisdienst, oder zwei oder mehr zu bestsätigen, dass die Exchange Properties und das AzureAD nicht den gleichen Verzeichnisdienst nutzen, sondern separat sind und Exchange-Objekte auch im Exchange Forest bearbeitet werden müssen.

Exchange Online PowerShell

Also habe ich versucht, die Gruppe über die Exchange Online PowerShell zu löschen.

Das hat aber wieder mangels Lizenz nicht geklappt.

PS C:\> Get-DistributionGroup CloudMailSG

Name        DisplayName GroupType                  PrimarySmtpAddress
----        ----------- ---------                  ------------------
CloudMailSG CloudMailSG Universal, SecurityEnabled CloudMailCloudMailSGSG@uclabor.de

PS C:\> remove-DistributionGroup CloudMailSG
Fehler bei Überprüfung im Agent 'Substrate Only Agent': 'Die Organisation "fcarius.onmicrosoft.com" ist nicht für die
Exchange-E-Mail-Funktion lizenziert. Die Cmdlet-Verwendung ist eingeschränkt.'
    + CategoryInfo          : NotSpecified: (:) [Remove-DistributionGroup], ProvisioningValidationException
    + FullyQualifiedErrorId : [Server=CY4PR2001MB1781,RequestId=99aaabe0-1db3-48ef-81f1-249cf211cc59,TimeStamp=26.03.2
   022 00:19:29] [FailureCategory=Cmdlet-ProvisioningValidationException] E6D345C9,Microsoft.Exchange.Management.Reci
  pientTasks.RemoveDistributionGroup
    + PSComputerName        : outlook.office365.com

MSOnline PowerShell

Ehe ich nun versuche, direkt per Graph die Gruppen zu löschen, habe ich noch mal die "alte" Microsoft Online Powershell versucht. Auch hier habe ich die Gruppe gefunden:

PS C:\> Get-MsolGroup -SearchString dkimtest

ObjectId                               DisplayName                GroupType                  Description
--------                               -----------                ---------                  -----------
2e281e67-adb3-4cc4-a437-e4801d8dbdad   DKIMTEST                   DistributionList

Hier habe ich dann die Gruppe problemlos löschen können.

PS C:\> Get-MsolGroup -SearchString dkimtest | Remove-MsolGroup

Bestätigung
Vorgang fortsetzen?
[J] Ja  [N] Nein  [H] Anhalten  [?] Hilfe (Standard ist "J"): j

Danach war sie an allen Stellen nicht mehr zu sehen.

Microsoft Graph

Ich hatte ja noch eine weitere Gruppe mit dem gleichen Problem. Aus Neugier wollte ich wissen, ob ich diese Gruppen vielleicht per Graph löschen kann. Mein Hilfsmittel dazu ist "Graph Explorer", den Sie unter https://aka.ms/ge schnell erreichen. Zuerst habe ich mir die Gruppe anhand des Namens gesucht.

GET https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName, 'fcgroup1')

Aus den Werten interessiert mich eigentlich nur die "ID"

Denn mit der ID kann ich dann den "Delete" absetzen:

DELETE https://graph.microsoft.com/v1.0/groups/{cd074347-dc39-49d3-a951-05ebda2490d2}

Das hat aber auch nicht funktioniert und die Fehlermeldung weist auch hier darauf hin, das ich zumindest diese Gruppe so nicht löschen kann. Ich dachte erst, dass es an der fehlenden Lizenz lag aber in der Dokumentation stand zumindest Ende März 2022 noch:


Gruppentypen in Azure AD und Microsoft Graph
https://docs.microsoft.com/de-de/graph/api/resources/groups-overview?view=graph-rest-1.0#group-types-in-azure-ad-and-microsoft-graph 

In der Beschreibung zum "Delete" einer Gruppe steht:


https://docs.microsoft.com/en-us/graph/api/group-delete?view=graph-rest-1.0&tabs=http

Das bedeutet wohl, dass ich schon normale Sicherheitsgruppen und Verteilergruppen löschen kann wenn Sie denn nicht "Mailenabled" sind

Benutzer mit Mail

Ich dachte schon, dass ich nun endlich die Domain löschen kann. Aber leider nein:

Auf den Karteikarten "Teams&Groups" und "Apps" war nichts mehr zu finden aber bei "Users" gab es noch einige Treffer:

Interessant war hier, dass der "Domain removal Prozess" durchaus den Username (=UPN) aller Benutzer umgestellt hat aber nicht die Mailadresse oder Einträge in den ProxyAddresses. Auch hier sind das alles Benutzer, die früher mit ADSync in die Cloud repliziert wurden und ein Exchange Postfach hatten aber der Tenant in der Zwischenzeit gar keine Exchange Lizenz mehr hat. Der Versuch dies über den Punkt "Change Domain" zu korrigieren, hat leider nicht funktioniert

Auch hier habe ich erst mal wieder mit "Set-AzureADUser" arbeiten wollen aber da gibt es keinen Parameter für Mail und ProxAddresses. Das Attribute ist wohl auch ReadOnly.

PS C:\> $b=Get-AzureADUser -SearchString mk
PS C:\> $b.Mail="mk@fcarius.onmicrosoft.com"
"Mail" ist eine schreibgeschützte Eigenschaft.

Aber auch der Versuch das Objekt in der Exchange Online PowerShell zu finden und zu ändern funktioniert diesmal nicht:

PS C:\> Get-Recipient mk@fcarius.onmicrosoft.com
Der Vorgang konnte nicht ausgeführt werden, weil das Objekt 'mk@fcarius.onmicrosoft.com' nicht auf
'DM6PR20A01DC004.NAMPR20A001.PROD.OUTLOOK.COM' gefunden wurde.
    + CategoryInfo          : NotSpecified: (:) [Get-Recipient], ManagementObjectNotFoundException
    + FullyQualifiedErrorId : [Server=CY4PR2001MB1781,RequestId=50a25a64-393c-4bec-8de0-a3c9ef8fe622,TimeStamp=27.03.2
   022 13:46:52] [FailureCategory=Cmdlet-ManagementObjectNotFoundException] 45BAED95,Microsoft.Exchange.Management.Re
  cipientTasks.GetRecipient
    + PSComputerName        : outlook.office365.com

PS C:\> Get-Recipient mk@uclabor.de
Der Vorgang konnte nicht ausgeführt werden, weil das Objekt 'mk@uclabor.de' nicht auf

Über das Azure Portal auf "portal.azure.com" kann ich bei dem Benutzer aber zumindest die Mailadresse ändern:

Aber die ProxyAddresses sind immer noch belegt und auch im Azure Portal nicht änderbar. Nach der Änderung ist im Microsoft 365 Portal beim dem Testbenutzer das Feld Mail "leer".

Ich habe bislang keinen Weg gefunden, nur die Proxy-Adresse ohne eine Exchange Lizenz zu ändern, so dass ich die Domain löschen kann.

Aber ich habe die dann einen anderen anderen "neuen" Administrator angelegt, der definitiv keine Adresse aus der Domain "uclabor.de" hatte und mit dem einfach alle Benutzer gelöscht

Get-MsolUser -DomainName uclabor.de | Remove-MsolUser -Force

Danach konnte ich auch die Domain im Tenant löschen. Nun müssen Sie immer bedenken, dass der Tenant natürlich keinerlei Exchange Lizenz mehr hat und daher die Anwender sowieso nicht arbeiten konnten. Allerdings hat mich schon interessiert, ob ich die Benutzer wieder aus dem Papierkorb zurückholen kann und wie diese dann aussehen.

PS C:\> Get-MsolUser -SearchString mk | fl UserPrincipalName,AlternateEmailAddresses,ProxyAddresses

UserPrincipalName       : mk@fcarius.onmicrosoft.com
AlternateEmailAddresses : {}
ProxyAddresses          : {smtp:mk@uclabor.de, SMTP:mk@fcarius.onmicrosoft.com, smtp:user1@fcarius.onmicrosoft.com,
                          smtp:user1@uclabor.de...}

PS C:\> (Get-MsolUser -SearchString mk).ProxyAddresses
smtp:mk@uclabor.de
SMTP:mk@fcarius.onmicrosoft.com
smtp:user1@fcarius.onmicrosoft.com
smtp:user1@uclabor.de
smtp:Martin.Krause@uclabor.de

PS C:\> Get-AzureADUser -SearchString mk | fl userprincipalname,*mail*,proxy*


UserPrincipalName : mk@fcarius.onmicrosoft.com
Mail : mk@fcarius.onmicrosoft.com
MailNickName : mk
OtherMails : {}
ProxyAddresses : {smtp:mk@uclabor.de, SMTP:mk@fcarius.onmicrosoft.com, smtp:user1@fcarius.onmicrosoft.com,
smtp:user1@uclabor.de...}

Sowohl die MSOnline-Powershell als auch die AzureAD PowerShell haben nach Löschen der Domain und Wiederherstellung des Benutzers tatsächlich die ProxyAdresse nicht entfernt.

Konfliktpotential?

Ich war natürlich neugierig, ob die im alten Tenant zurückgelassenen Benutzer mit einer Proxyadresse wie user1@uclabor.de vieleicht die Einrichtung der gleichen Adresse in einem neuen Tenant behindern. Also habe ich nach dem Löschen der Domäne in der Quelle die gelöschten Benutzer wieder aus dem Papierkorb zurück geholt. Die Benutzer hatten auch immer noch die "uclabor.de"-Adresse.

Die erste Mail ist noch nicht angekommen und meine zweite Testmail wurde als Junk aussortiert, so dass erst die dritte Mail zugestellt wurde.

Das bedeutet für mich aber auch, dass die Proxy-Adresse nicht primär maßgeblich ist, sondern die Exchange Online erst anhand der Zieldomain den Tenant ermittelt und dann in dem Tenant nach einen passenden Empfänger sucht.

Das ist gut, da es damit unkritisch ist, wenn in einem anderen Tenant eine Mailadresse eines anderen Tenants eingetragen ist

Es ist übrigens nicht möglich, in einem Tenant bei einem Benutzer eine ProxyAdresse mit einer Domain zu addieren, die nicht in diesem Tenant als "Accepted Domain" hinterlegt ist. Das geht weder über das Exchange Admin Portal und auch nicht über ADSync und den ProxyAddresses aus dem lokalen AD.

Zwischenstand

Es ist sicher nicht der "Normalfall", dass eine Firma einen Tenant komplett aufgibt und die DNS-Domain erst löscht, wenn im Tenant keine Lizenz mehr aktiv ist. Der Regelfall ist eher folgender:

  1. Anlegen von Benutzern im Ziel mit temporären Lizenzen
  2. Migrieren der Daten zwischen den Tenants
  3. Domain umziehen und User Umschalten
    Hier können Sie die Domain Löschen, da sie in der Quelle ja noch lizenziert sind
  4. Rückbau des alten Tenants
    Alle Objekte dort haben nicht mehr die bisherige Domain sondern eine onmicrosoft.com-Adresse und werden nicht mehr genutzt.

Dann passiert das nicht. Die Probleme eines Tenant, in dem die Lizenzen verfallen sind, ehe Sie ihre Domains umgezogen haben, sind also eher theoretischer Natur. Wenn es ihnen aber passiert, dann wissen sie ja nun, wie die das Problem auch beseitigen.

Weitere Links