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
- List groups
https://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0&tabs=http - Use query parameters to customize
responses
https://docs.microsoft.com/en-us/graph/query-parameters - Delete group
https://docs.microsoft.com/en-us/graph/api/group-delete?view=graph-rest-1.0&tabs=http -
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
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:
- Anlegen von Benutzern im Ziel mit temporären Lizenzen
- Migrieren der Daten zwischen den Tenants
- Domain umziehen und User Umschalten
Hier können Sie die Domain Löschen, da sie in der Quelle ja noch lizenziert sind - 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.