Teams Provisioning

Jeder Anwender kann Office 365 Groups, Microsoft "Teams Teams", Planner anlegen, Gäste einladen und Apps installieren . Das ist für kleine "selbstorganisierte" Firmen einfach aber je größer eine Organisation wird, desto eher kommt der Wunsch nach Regularien und Prozessen auf. Früher konnte ja auch nicht jeder Anwender neue Dateifreigaben auf einem Novell-Server anlegen oder AD-Benutzer für Gäste einrichten. Diese Seite beleuchtet die Fragen zur Einrichtung und Verwaltung von Microsoft Teams und mehr.

Selbstklassifizierung

Ehe Sie sich nun aber viele Gedanken machen, sollten Sie ihre eigene Firma in einen von drei Fächer einsortieren:

Klasse Beschreibung

Selbst organisierend

Speziell kleinere Firmen kommen mit den Default-Einstellungen von Microsoft sehr gut aus, bei denen jeder Anwender selbst Teams anlegen und Mitglieder verwalten darf. Mit wenigen Mausklicks kann ein Administrator auch noch einrichten, dass Gäste eingeladen werden dürfen. Konflikte und Abstimmungen über Teams werden im persönlichen Gespräch oder der Kaffeeküche geklärt und wenn es tatsächlich mal doppelte Teams gibt, dann wird eben von Hand aufgeräumt. Meist gibt es gar keinen "Vollzeit-Admin" und selbst der "Chef" als Office 365 Admin möchte sich nur gelegentlich mit der Verwaltung herum schlagen.

Sie brauchen diese Seite nicht

Einfach verwaltet

Wenn die Firma etwas größer ist, dann sorgen zu viele Freiheiten sehr bald zu einem Wildwuchst an Teams und Kanälen, die kaum noch verwaltet werden können. Selbst eine begleitende Schulung oder Handlungsanweisungen helfen nur bedingt weiter. Teams erlaubt aber gewisse Einstellungen mit Bordmitteln, mit denen Sie hier vielleicht schon weiter kommen. Die drei wichtigsten Aspekte sind hier:

  • Steuerung wer Gruppen anlegen darf
    Damit können Sie die Neuanlage auf wenige Personen beschränken, die dann andere Personen auch wieder zum Besitzer machen dürfen. Das sorgt in Verbindung mit einer Anleitung dafür, dass doppelte oder zu viele Teams vermieden werden. Diese berechtigten Personen sollten natürlich die beantragenden nach dem Einsatzzweck fragen und die späteren Anwender auch an die Hand nehmen. Denken Sie daran, dass ein normaler Anwender maximal 250 Teams anlegen kann, wenn er kein Admin ist.
  • Vorgaben zum Gruppennamen
    Sie können in Teams den Namen der Teams per Richtlinien in engen Grenzen vorschreiben.
  • Templates
    Zudem können Sie vorbereitete Vorlagen für Teams definieren und bei der Neuanlage direkt anwenden. Der "Creator" kann das Teams nach der Anlage auch noch weiter anpassen
  • Format der Mailadresse
    Jedes Teams hat eine Office Group und per Empfängerrichtlinien können Sie Einfluss auf die Mailadresse nehmen.

Formale Prozesse

Der "selbstorganisierte" Ansatz als auch die manuelle Anlage durch ausgewiesene Personen ist nicht brauchbar, wenn die Firma größer ist und Teams eine gewisse Dynamik hat. Dann kommt sehr schnell die Frage, ob diese ganzen Änderungen nicht doch als "Prozess" definiert und von den Anwendern entsprechend angestoßen werden können. In solchen Umgebung gibt es natürlich noch ganz andere Aspekte, auf die ich gleich noch eingehe.

Technisch können Sie Teams per PowerShell oder Graph-API verwalten und haben die Wahl, ob Sie z.B. PowerFlow, Azure Runbooks, 3rd Party Tools einsetzen oder ihr vielleicht bestehendes Provisioning um Teams erweitern.

Eine besondere Herausforderung sind z.B. Schulen und Universitäten, die z.B. für jeden Kurs ein Team anlegen

Legen Sie sich aber nicht zu früh auf eine Klassifizierung fest. Auch kleine Firmen, die sich erst einmal als "selbstverwaltet" einstufen, könnten mit einer "Einfach verwalteten" Lösung besser fahren, insbesondere wenn die Firma wächst. Wer schon an eine einfach verwalteten Lösung ausgeht, könnte mit günstigen kommerziellen 3rd Party Lösung eine runde Lösung erhalten

Herausforderungen

Ehe wir aber nun Lösungen und Optionen weiter diskutieren, müssen Sie erst einmal aufstellen, was eine Lösung in ihrem Umfeld leisten muss, damit Sie einen Katalog zum Produktvergleich aufstellen können. Ich möchte vorher aber erst noch einmal die Probleme aufzeigen, die ohne ein "perfektes Team Provisioning" so alle passieren können. Es gibt aber unterschiedliche Ansätze, die einzelnen Probleme zu verhindern.

  • Besitzermanagement
    Ohne Vorgaben wird die Person, die ein Team anlegt, auch immer zum Besitzer. Allerdings ist Sie sich der Verantwortung oft nicht bewusst und ohne Management kann so ein Team auch "kopflos" werden, z.B. wenn der Besitzer das Unternehmen verlässt. Der Besitzer eines Teams kann auch relativ viel damit anpassen, ohne dass entsprechende Richtlinien zwingend beachtet werden.
    All diese Überlegungen könnten dazu führen, das Sie gar keine normalen Anwender als "Besitzer" zulassen wollen und stattdessen die Änderungswünsche durch wenige Personen stellvertretend durchgeführt werden. Wenn die Nutzer aber für jede kleine Änderung immer erst ein Ticket oder einen Antrag ausfüllen sollen, dann hindert das schon die Teams-Akzeptanz. Ein automatischer Prozess kann dabei helfen.
  • Gäste
    Teams läuft zur Hochform auf, wenn Sie in ihrem Team auch Personen anderer Firmen oder Einzelpersonen mit einladen. So arbeiten alle Personen immer am "Original" und es gibt keine Versionshölle, veraltete Informationen oder Dubletten, die beim Versand per Mail unweigerlich entstehen. Damit stellen sich aber sehr viele Fragen rund um Gäste
    • Wer darf Gäste "einladen"
    • Wer darf Gäste zum Team addieren
    • Aus welchen anderen "Domains" dürfen die Gäste addiert werden
    • Wie werden "inaktive" Gäste erkannt
    • Wie erkennen Sie, wo ihre Mitarbeiter in anderen Teams anderer Firmen aktiv sind.
  • Teams Einrichtung
    Ein einfaches Team ist wie ein leerer Raum und der Besitzer muss es erst einmal "möblieren". Entsprechende Vorlagen unterstützen den Prozess aber wie wäre ein Interview, bei dem ein Prozess die Anforderungen abfragt und dann ein passendes Team erstellt? In dem Zuge könnte es auch die Mitglieder erfragen und z.B. auf bestehende Teams mit einem ähnlichen Namen oder Mitgliedern verweisen. Niemand mag "doppelte Teams" und erst recht keine doppelten Namen
  • Apps
    Zur Einrichtung eines Team gehören natürlich auch die Apps, d.h. welche Zusatzprogramme und Funktionen im Team genutzt werden dürfen. Die wenigsten Firmen erlauben hier, dass jeder Anwender einfach selbst Apps installiert, denn nicht nur der Datenschutz ist hierbei zu beachten sondern auch später anfallende Kosten.
  • Mailadresse des Team
    Hinter jedem Microsoft Team steht auch eine "Office Gruppe" mit einer Mailadresse. "Teamname@<tenantname>.onmicrosoft.com". Wenn die "Default"-Adresse nicht passt aber auch die Empfängerrichtlinie nicht ausreicht, dann muss ein Prozess her

Sobald Sie also ein formaleres Vorgehen umsetzen wollen oder aufgrund von Vorgaben umsetzen müssen, kommen Sie mit der Selbstorganisation oder den eingebauten Vorgaben nicht mehr aus.

Katalog

Ich habe versucht, eine Feature-Liste zu erstellen, die wesentliche Funktionen aufführt, die mir so untergekommen sind. Allerdings ist die Liste natürlich nie vollständig. Die Kreativität der Anwender und wechselnde Anforderungen machen aus der Aufgabe ein "Moving Target". Zudem entwickelt sich auch Teams und Office 365 weiter, dass dass neue Funktionen in Teams, z.B. die Privaten Kanäle", nachgeliefert werden müssen. Sie können sicher sein. dass Microsoft auch in Zukunft neue Funktionen zu Microsoft Teams und Office 365 addiert, die hier später berücksichtigt werden müssen.

Anforderung Mit Bordmittel Andere
Lösung

Beschränken, wer Teams anlegen kann

Über AzureAD Gruppe

 

Mehrstufiger Approval-Prozess

Wie wäre es, wenn ein Anwender ein "Team beantragt" aber dann diese Anfrage an weitere Stellen (Betrieb, Compliance, Lizenzmanagement, etc) geht, die zustimmen und dann am ende das Team formal angelegt wird.

Nein

 

Teams Namensregel

Auch wenn mehrere Teams sogar den gleichen Namen haben können, sollten Sie klare Vorgaben zum Namen machen. Missbrauch ist sicher weniger das Problem aber wenn im Bereich "Automotive" ein Team den Namen des "Erlkönigs" hat, dann ist das vielleicht nicht gewünscht.

Einfache Richtlinien

 

Teams Dubletten erkennen/verhindern

Es ist nicht ungewöhnlich, dass mehrere Mitarbeiter ein Team für eine Gruppe anlegen, für die es schon ein bestehendes Team gibt. Ein Provisioning kann solche Dinge prüfen, z.B. Teams mit vergleichbaren Mitgliedern oder ähnlichen Beschreibungen erkennen. Denkbar ist auch, über die Kostenstelle dann alle anderen Teams aufzulisten o.ä.

Nein

 

Teams Vorlagen

Ein Projektraum mit einem tisch, vier Stühlen, Licht und Whiteboard ist eine Basis aber über Vorlagen können Sie die Anlaufkosten deutlich reduzieren und Wildwuchs eindämmen. Teams kennt "Vorlagen", die aber eingeschränkt sind. Per Skript können Sie Teams umfangreich nach ihren Vorgaben einrichten.

Einfache Templates

 

Team Lifecycle

Überwachen Sie eigentlich, wie ein Team genutzt wird? Es könnte durchaus interessant sein, inaktive Gäste nach einiger Zeit zu fragen, ob Sie noch Zugriff benötigen oder das Konto gänzlich verweist ist. Auch könnte überwacht werden, ob automatische Meldungen, z.B.: per eingehende WebHooks von jemandem gelesen werden.

Auch der "Besitzer" eines Teams könnte zyklisch einen Report "seiner" Teams bekommen, um diese bei Bedarf in einen Archivstatus zu versetzen oder Teilnehmer zu bestätigen. Wie gehen Sie mit Teams um, die "kopflos" sind, weil die Besitzer mittlerweile das Unternehmen verlassen haben und durch ADSync gelöscht wurden?

Nein

 

Team Deprovisioning

An Ende des Lebenszyklus steht der ordentliche Rückbau eines Teams. Sie können die Arbeit natürlich dem Besitzer überlassen aber vielleicht sollen Sie als Firma den Prozess gestalten, um z.B. ein Teams an einen "Archivar" zu übergeben, der dann die essentiellen Informationen in ein andere System überträgt, exportiert, sichtet, ehe das Team tatsächlich gelöscht wird.

 

 

Migration/Merge/Split

Zum Lebenslauf eines Teams gehört es auch, dass Teams zusammengelegt oder aufgeteilt werden. Der Support für solche Restrukturierungen ist sehr eingeschränkt, auch wenn es mittlerweile Export/Import-Schnittstellen gibt.

Nein

 

Kanäle anlegen und verwalten

Selbst die Steuerung einzelner Kanäle kann reglementiert werden, wenn niemand "Besitzer" ist und damit ein Provisioning-Prozess diese Schritte übernehmen muss. Dies gilt insbesondere auch für "private Kanäle", die selbst dem Team-Besitzer verborgen bleiben können.

Besitzer

 

Mitglieder addieren/entfernen

Teams erlaubt eine direkte Verwaltung der Mitglieder durch den Besitzer oder "Join-Codes" o.a. oft ist aber genau dies nicht gewünscht. Mitglieder könnten im Provisioning anhand der Abteilungszugehörigkeit oder Projektstruktur addiert und wieder entfernt werden. Das gilt insbesondere für Gäste, zu denen ich eigene Punkte noch aufführe.

Besitzer

 

Änderungen protokollieren (Auditing/Compliance)

Wenn Besitzer oder Benutzer direkt selbst Einstellungen ändern, dann können Sie als Compliance-Office nur nur hinterher laufen

Eingeschränkt

 

Gastkonten anlegen und addieren

Gastkonten sind Fluch und Segen zugleich. Stellen aber neue Herausforderungen an das Identity Management. Ohne Hilfsmitteln kommen Sie hier schnell an ihre Grenzen. Für miht der Schlüsselfaktor über ein "Teams Provisioning" nachzudenken, wenn Sie nicht grade ein "Small Business"-Kunde sind.

Azure AD Rechte

 

Gastkonten nach Domains erlauben/verhindern

Damit fängt es schon an. Darf jeder Teams Besitzer auch Gäste einladen und damit AzureAD-Konten anlegen, die andere Benutzer dann wieder für andere Zwecke (OneDrive etc.) verwenden können. Sie verhindern sie Gäste aus den Domäne von z.B. Mitbewerbern oder "private Konten". Ein Provisioning könnte hier filtern, Vier-AugenPrinzip und Verbesserungen für die Revision bringen.

Domain White/Blocklist

 

Inaktive Gäste

Gäste kommen ganz schnell hinzu aber bleiben ewig. Vielleicht sollten Sie inaktive Gäste mal hinterfragen oder nach einiger Zeit deaktivieren?

Nein

 

Selbstinstallation von Apps

Apps sind das neue Gold und wenn Sie Apps für Consultants gelesen haben, dann wissen Sie, wie Apps in Teams installiert werden. Die Teams-Plattform ist selbst die Verwaltung der Apps und als Admin sollten sie steuern, wie Benutzer mit Apps umgehen. Teams sebst kann die Installation unterbinden. Aber dann müssen Sie als Administrator aktiv werden.

Ja

 

Apps per Teams/Kanal bzw. Benutzer

Wenn der Benutzer die Apps nicht mehr selbst installieren darf, muss das ein Admin oder ein Prozess machen

Nein

 

App-"Kaufprozess" Prozesse unterstützen

Apps selbst sind in der Regel sogar kostenfrei aber sie nutzen ein Backend Service. Und hier können 3rd Party Anbieter natürlich Kosten verbinden. Der ganze Kauf und Bereitstellungsprozess ist eine weitere Anforderung an ein Provisioning-System

Nein

 

Apps nach Datenschutz-Kriterien filtern

Wenn Hersteller von Apps ihre Software klassifizieren(ISO27001, SOX, HIPAA, PCI-DSS etc.), dann könnten Sie diese Kriterien für die Freigabe mitverwenden. Eine Software könnte natürlich bei der Anforderung auch den Datenschutz einbeziehen

Manuell

 

Eigene Apps bereitstellen.

Der Teams-Administrator kann steuern, ob Anwender eigene Apps installieren dürften. Sie müssen natürlich dann auch einen Prozess definieren, wie der Admin an

Ja

 

...

...

...

Ich bin sicher, dass die Liste auch nicht ansatzweise komplett ist. Ich denke da an eigene Richtlinien zu Konferenzen in Teams, Archiv-Funktionen, Integration von Bots uvm.

Lösungsansätze

Auf dem Weg von "Selbstverwaltung" und "einfache Verwaltung" zur Perfektion gibt es nun leider nicht genau den einen Weg und entsprechend gibt es auch mehrere Firmen, die eigene kommerzielle Lösungen dazu erstellt haben. Sei es auf Basis von eigenen PowerShell-Skripten, Azure Runbooks und Azure PowerAutomate, Microsoft Flow u.a.

Ich möchte hier kein Produkt explizit empfehlen, sondern rate ihnen sich erst einmal ihre Anforderungen aufzunehmen und Klarheit zu schaffen. Wenn Sie gerade anfangen, kann ein reines Teams Provisioning Produkt passend sein. Aber vielleicht haben sie schon ein "Workflow-System" auf Basis von SharePoint oder Zusatzprodukten wie z.B. Powell 365 oder sogar ein Provisioning-System wie Microsoft Identity Server, Adaxes o.ä.
ich möchte damit sagen, dass der Einstieg in ein Teams Provisioning ein Gesamtsystem für Microsoft 365 Verwaltung nach sich ziehen kann.

Hinweis in eigener Sache: Sie können meine Kollegen und mich dazu gerne ansprechen.

Verschiedene Hersteller aber auch Consultants haben dazu Informationen publiziert.

Und dies ist sicher erst der Anfang einer Liste.

Provisioning im Selbstbau

Die Teams nicht von Anwendern oder privilegierten Benutzern über Teams oder einen Webbrowser selbst angelegt werden, ist immer irgendwie PowerShell und Graph im Spiel. Für gewisse Situationen ist eine Anlage per Skript sogar erforderlich, weil die grafischen Oberflächen nur eine Teilmenge der Einstellmöglichkeiten bereitstellt. Hinter jedem Microsoft Teams steht auch eine Office 365 Group/Modern Group, die als Exchange Objekt deutlich mehr Properties hat, als die GUI von Teams bereitstellt. Diese Anpassungen gehen dann nur per Skript.

Eine Office Group wurde bis Anfang 2018 automatisch bei den Mitgliedern in Outlook eingebunden und war über das Exchange Addressbuch auflösbar Das ist seit dem 1HJ2018 nicht mehr der Fall, da Microsoft die Standardeinstellung geändert hat.

Wenn Sie seit dem Zeitpunkt ausgewählte Unified Groups dennoch im Exchange Adressbuch anzeigen lassen wollen oder sogar direkt bei den Mitgliedern einbinden müssen, dann ist die Exchange Online  PowerShell das Mittel der Wahl:

Set-UnifiedGroup `
   -Identity “Teamname” `
   -HiddenFromExchangeClientsEnabled:$False

Set-Identity ”Set-UnifiedGroup `
   -Identity ”Teamname” `
   -HiddenFromAddressListsEnabled:$False

Die Gruppen, die vor dem Zeitraum angelegt wurden, sind von Microsoft aber nicht auf die neuen Standardwerte angepasst worden.

HiddenGroupMembershipEnabled

Solange Sie ein Feld auch noch nachträglich ändern können, ist das ein einfaches Unterfangen. Sobald es aber Einstellungen gibt, die nur bei der Anlage spezifiziert werden können, müssen Sie schon den Prozess vorab fertig haben. Da ist z.B. beim Attribut „HiddenGroupMembershipEnabled“ der Fall. Damit können Sie beschränken, dass nur Mitglieder auch die anderen Mitglieder einer Teams oder einer Unified Group auflisten können. Das ist ein wichtiges Sicherheitsfeature z.B. in Schulen (Ein Team = ein Kurs) aber auch in Firmen. Schon das Wissen um die Mitgliedschaft in einem Team kann hier ein Problem sein. Laut Blog-Artikel von 2018 war es sogar möglich, diese Einstellung nachträglich anzupassen

Allerdings enthält im Januar 2021 das Comandlet "Set-UnifiedGroup" gerade nicht mehr den Switch-Parameter "HiddenGroupMembershipEnabled". Das steht auch genauso in der Beschreibung:

„Der Parameter HiddenGroupMembershipEnabled ist nur im Cmdlet New-UnifiedGroup verfügbar. Sie können diese Einstellung für eine vorhandene Microsoft 365-Gruppen Gruppe nicht ändern.“
Set-UnifiedGroup https://docs.microsoft.com/de-de/powershell/module/exchange/set-unifiedgroup 

Wo der technische Grund dafür ist, erschließt sich mir nicht aber ich habe keinen direkten Weg gefunden, das nachträglich zu ändern. Wir müssen diesen Wert also direkt bei der Anlage des Teams setzen. Aber auch beim "New-Team"-Commandlet gibt es keinen passenden Parameter:

Der Trick besteht darin, zuerst die Unified-Group anzulegen und danach diese Gruppe zu einem Team zu aktivieren. Zuerst lege ich also die Unified Gruppe per Exchange Online PowerShell an

$newgroup= New-UnifiedGroup `
   -DisplayName "Name der Gruppe" `
   -Alias Teamname ` 
   -AccessType Private ` 
   -HiddenGroupMembershipEnabled


# Ausgabe der interessanten gefüllten Felder
$newgroup

AccessType                             : Private
AuditLogAgeLimit                       : 90.00:00:00
AutoSubscribeNewMembers                : False
AlwaysSubscribeMembersToCalendarEvents : True
CalendarMemberReadOnly                 :
CalendarUrl                            : https://outlook.office365.com/owa/?path=/group/xxxxx/calendar
ExchangeGuid                           : 86a97920-d4e1-4daa-bf9c-98b4ec8159c1
FileNotificationsSettings              :
GroupSKU                               : Default
InboxUrl                               : https://outlook.office365.com/owa/?path=/group/xxxxx/mail
IsExternalResourcesPublished           : True
IsMailboxConfigured                    : False
Language                               : en-US
MailboxProvisioningConstraint          :
ManagedByDetails                       : {fcadmin}
Notes                                  :
PeopleUrl                              : https://outlook.office365.com/owa/?path=/group/xxxx/people
PhotoUrl                               : https://outlook.office365.com/EWS/Exchange.asmx/s/GetUserPhoto?email=20215aDeu
                                         tsch@uclabor.de
ServerName                             : mn2pr20mb2701
SharePointSiteUrl                      :
SharePointDocumentsUrl                 :
SharePointNotebookUrl                  :
SubscriptionEnabled                    : True
WelcomeMessageEnabled                  : True
ConnectorsEnabled                      : True
IsMembershipDynamic                    : False
Classification                         :
GroupPersonification                   :
YammerEmailAddress                     :
GroupMemberCount                       : 1
MailboxRegion                          :
GroupExternalMemberCount               : 0
AllowAddGuests                         : True
WhenSoftDeleted                        :
HiddenFromExchangeClientsEnabled       : False
ExpirationTime                         :
DataEncryptionPolicy                   :
ResourceProvisioningOptions            : {}
ResourceBehaviorOptions                : {}
ServiceEndpointUris                    : {}
SensitivityLabel                       :
InPlaceHolds                           : {}
EmailAddresses                         : {smtp:xxxx@<tenant>.onmicrosoft.com, SMTP:xxxx}
PrimarySmtpAddress                     : xxxx
Name                                   : xxxx_abdba639-a0d5-4a5a-bce6-dbfb7c39eafa
DisplayName                            : 2021 5a Deutsch
RequireSenderAuthenticationEnabled     : True
ModerationEnabled                      : False
SendModerationNotifications            : Always
SendOofMessageToOriginatorEnabled      : False
BypassModerationFromSendersOrMembers   : {}
ModeratedBy                            : {}
GroupType                              : Universal
IsDirSynced                            : False
ManagedBy                              : {fcadmin}
MigrationToUnifiedGroupInProgress      : False
HiddenGroupMembershipEnabled           : True
ExpansionServer                        :
ReportToManagerEnabled                 : False
ReportToOriginatorEnabled              : True
Description                            : {}
BccBlocked                             : False
AcceptMessagesOnlyFrom                 : {}
AcceptMessagesOnlyFromDLMembers        : {}
AcceptMessagesOnlyFromSendersOrMembers : {}
AddressListMembership                  : {\Default Global Address List, \GroupMailboxes(VLV), \Groups(VLV), \All Groups(VLV)...}
AdministrativeUnits                    : {}
Alias                                  : xxxx
OrganizationalUnit                     : nampr20a001.prod.outlook.com/Microsoft Exchange Hosted
                                         Organizations/fcarius.onmicrosoft.com
GrantSendOnBehalfTo                    : {}
ExternalDirectoryObjectId              : abdba639-a0d5-4a5a-bce6-dbfb7c39eafa
HiddenFromAddressListsEnabled          : False
LastExchangeChangedTime                :
LegacyExchangeDN                       : /o=ExchangeLabs/ou=xx (xxx)/cn=Recipients/cn=xxxx
MaxSendSize                            : 35 MB (36,700,160 bytes)
MaxReceiveSize                         : 36 MB (37,748,736 bytes)
PoliciesIncluded                       : {}
PoliciesExcluded                       : {{26491cfc-9e50-4857-861b-0cb8df22b5d7}}
EmailAddressPolicyEnabled              : False
RecipientType                          : MailUniversalDistributionGroup
RecipientTypeDetails                   : GroupMailbox
RejectMessagesFrom                     : {}
RejectMessagesFromDLMembers            : {}
RejectMessagesFromSendersOrMembers     : {}
MailTip                                :
MailTipTranslations                    : {}
Identity                               : xxxx_abdba639-a0d5-4a5a-bce6-dbfb7c39eafa
Id                                     : xxxx_abdba639-a0d5-4a5a-bce6-dbfb7c39eafa
IsValid                                : True
ExchangeVersion                        : 0.10 (14.0.100.0)
ExchangeObjectId                       : a542ee41-2d91-4819-bb18-b34219157203
Guid                                   : a542ee41-2d91-4819-bb18-b34219157203

Ich kann nach dem Aufruf das zurückerhaltene Objekte natürlich nutzen, um die weiteren Exchange-Eigenschaften anzupassen. In einer Hybrid-Umgebung ohne M365Groups Writeback könnten Sie nun lokal auch einen passenden Kontakt anlegen.

Die Anleitung zu "HiddenGroupMembershipEnabled" in der Dokumentation ist eindeutig

Die HiddenGroupMembershipEnabled-Option gibt an, ob die Mitglieder der Microsoft 365-Gruppe von Benutzern ausgeblendet werden sollen, die keine Mitglieder der Gruppe sind. Sie müssen keinen Wert für diese Option angeben. Sie können diese Einstellung verwenden, um die Einhaltung von Bestimmungen zu unterstützen, die es erfordern, dass Sie Gruppenmitgliedschaften von Außenstehenden ausblenden (beispielsweise eine Microsoft 365-Gruppen Gruppe, die in einer Klasse eingeschriebene Kursteilnehmer darstellt). Hinweis: Sie können diese Einstellung nicht mehr ändern, nachdem Sie die Gruppe erstellt haben. Wenn Sie die Gruppe mit verborgener Mitgliedschaft erstellen, können Sie die Gruppe später nicht bearbeiten, um die Mitgliedschaft der Gruppe anzuzeigen
Quelle: New-UnifiedGroup https://docs.microsoft.com/de-de/powershell/module/exchange/New-UnifiedGroup

Damit haben wir nun ein Team mit der passenden Konfiguration angelegt. Um diese nun in Teams zu nutzen, müssen wir die Gruppe hochstufen. Das geht in natürlich auch per PowerShell. Ich muss dem Teams nur die ExternalDirectoryObjectId der bestehenden Gruppe mit übergeben.

$team= New-Team `
    -GroupID $group.ExternalDirectoryObjectId

# Ausgabe der Default Eigenschaften
$team

GroupId                           : abdba639-a0d5-4a5a-bce6-dbfb7c39eafa
DisplayName                       : 2021 5a Deutsch
Description                       :
Visibility                        : HiddenMembership
MailNickName                      : 20215aDeutsch
Classification                    :
Archived                          : False
AllowGiphy                        : True
GiphyContentRating                : moderate
AllowStickersAndMemes             : True
AllowCustomMemes                  : True
AllowGuestCreateUpdateChannels    : False
AllowGuestDeleteChannels          : False
AllowCreateUpdateChannels         : True
AllowDeleteChannels               : True
AllowAddRemoveApps                : True
AllowCreateUpdateRemoveTabs       : True
AllowCreateUpdateRemoveConnectors : True
AllowUserEditMessages             : True
AllowUserDeleteMessages           : True
AllowOwnerDeleteMessages          : True
AllowTeamMentions                 : True
AllowChannelMentions              : True
ShowInTeamsSearchAndSuggestions   : False

Und natürlich kann ich auch gleich noch andere Teams-spezifische Parameter angeben. Wobei Sie genau prüfen sollte, ob welche Parameter verfügbar sind. Einige Funktionen könnten "preview" sein und einige Parameter sind auch nicht mehr änderbar, weil Sie von der UnifiedGroup vorgegeben sind:

Parameter GroupID
Specify a GroupId to convert to a Team. If specified, you cannot provide the other values that are already specified by the existing group, namely: Visibility, Alias, Description, or DisplayName. If, for example, you need to create a Team from an existing Microsoft 365 Group, use the ExternalDirectoryObjectId property value returned by Get-UnifiedGroup.
Quelle New-Team https://docs.microsoft.com/en-us/powershell/module/teams/new-team

Die Verbindung zwischen der Exchange UnifedGroup und dem Microsoft Teams Team ist über die ID-Felder möglich

$Team.GroupId -eq $group.ExternalDirectoryObjectId

Man kann also sich beide Objekte besorgen und über das Feld ein „Matching“ machen. Für jedes Team gibt es immer auch eine OfficeGroup aber nicht jede OfficeGroup ist zugleich auch ein Team.

Deprovisoining

Wenn ein Team nicht mehr benötigt wird, dann könne Sie es auch einfach löschen. Aber es gibt neben der rein technischen Sicht auf den Prozess auch die organisatorische Vorgehensweise:

  • Archiv vor Löschen
    Ich habe es mir angewöhnt ein Team vorher erst einmal zu "archivieren". Den begriff dürfen Sie nicht mit einem klassischen Archiv verwechseln, sondern damit wird das Team nur "ReadOnly" gesetzt. Es gibt mir aber die Gelegenheit zu erkennen, ob wirklich niemand mehr damit arbeitet. Dazu gehört auch den Eintrag im Exchange Adressbuch zu verbergen, das Messagetracking auf Mails an die Kanäle zu untersuchen etc.
  • Mitglieder entfernen
    Der nächste Schritt ist die Entfernung aller Besitzer, Mitglieder und Gäste aus dem Team. Nun "verschwindet" es auch aus dem Blickfeld.
  • Karenzzeit und Export
    Wenn niemand die Daten vermisst, dann möchte man vielleicht einige Inhalte auf Dauer sichern. Meist sind die Chats und Besprechungsaufzeichnungen nicht mehr relevant aber die Ergebnisdokumente schon.

Erst wenn das alles abgeschlossen ist, würde ich ein Team auch real löschen. Das ist dann per PowerShell schnell einfach. Microsoft stellt dazu extra den Befehl "remove-Team" bereit

Allerdings wissen wir ja nun, dass ein Team nicht nur eine aufgemotzte Office 365 Group / UnifiedGroup ist, sondern dazu noch mindestens eine SharePoint-Library gehört. Also habe ich absichtlich den "Fehler" gemacht und nur die Office365 Group entfernt. Das kann ja auch einem Exchange Admin einmal "passieren".

PS C:\> remove-UnifiedGroup 20215aDeutsch_abdba639-a0d5-4a5a-bce6-dbfb7c39eafa

Confirm
Are you sure you want to perform this action?
Durch Entfernen des Postfachs "20215aDeutsch_abdba639-a0d5-4a5a-bce6-dbfb7c39eafa" wird das Active
Directory-Benutzerobjekt entfernt, und das Postfach und das Archiv (sofern vorhanden) werden in der Datenbank für die
Entfernung gekennzeichnet.

Aber mittlerweile scheint Microsoft im Hintergrund ihre Provisioning auch komplettiert zu machen. denn amit wurde auch das Team gelöscht. Es ist mit "Get-Team" nicht mehr zu sehen. Eine Kontrolle im Sharepoint Admin-Center zeigt auch hier den Vollzug:

Die zum Team gehörende SharePoint Site wurde auch gelöscht. Nun laufen die normalen "Verfallszeiten" für die gelöschte SharePoint-Size und die gelöschte" Unified Group.

Weitere Links