Es ist eigentlich eine gute Idee, neue Microsoft Teams nach einem bewährtem Schema anzulegen, sobald sich in der jeweiligen Organisation ein solches durchgesetzt hat. Ich zum Beispiel bin der Meinung, dass jedes Team einen "Lustiges und Ballons" Kanal braucht, in dem die Teammitglieder sich auch mal zu kurzweiligen anderen Themen (z.B. Geburtstagswünschen) austauschen können, um nicht die anderen Kanäle des Teams damit zu "überfluten".
Man könnte natürlich nun diesem Kanal jedes mal händisch anlegen, nachdem ein Team angelegt wurde. Das geht für diesen einen Anwendungsfall noch einigermaßen, sobald aber das Schema zur Teamsanlage komplizierter wird und mehrer Personen Teams anlegen, wird das händisch schnell nicht mehr praktikabel.
Es gibt mehrere Methoden, um automatisch Teams anzulegen. Hier möchte ich euch aber die Methode vorstellen, dieses über die PNP Provisioning Engine zu tun. Seit der Version 2019-03 der geht das nämlich auch damit.
Wir können die Engine entweder aus einer C# Anwendung heraus benutzen oder über das PNP Powershell Modul. Nachdem dieses installiert wurde, brauchen wir nur zwei Befehle auszuführen, um ein Team anhand eines Templates zu erstellen.
# Verbindung zur Admin Site herstellen
Connect-PnPOnline -Url "https://<Dein Tenant>-admin.sharepoint.com" -Scopes "Group.ReadWrite.All","User.Read.All"
# Die Datei teamsschema.xml anwenden und das Team erstellen
Apply-PnPTenantTemplate .\teamsschema.xml
Dazu brauchen wir aber natürlich auch noch eine XML Definitionsdatei. Ein komplettes Beispiel aller Möglichkeiten des Provisioning Schemas findet hier hier
Die folgende Datei zeigt nur ein kleines Beispiel davon und demonstriert, wie man ein neues Team mit dem Kanal "Lustiges und Ballons" anlegen kann.
<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2019/03/ProvisioningSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.dev.office.com/PnP/2019/03/ProvisioningSchema https://raw.githubusercontent.com/OfficeDev/PnP-Provisioning-Schema/master/OfficeDevPnP.ProvisioningSchema/ProvisioningSchema-2019-03.xsd">
<pnp:Teams>
<!-- Das Team erstellen-->
<pnp:Team MailNickname="DemoTeam" DisplayName="Demo Team" Description="Das ist neu ein Demo" Visibility="Public" Archived="false">
<pnp:Channels>
<!-- Den Kanal "Lustiges und Ballons erstellen"-->
<pnp:Channel DisplayName="Lustiges und Ballons"
Description="Benutzt diesen Kanal für alles, was off-topic ist"
IsFavoriteByDefault="true">
<pnp:Messages>
<!-- Zum Schluss noch eine Willkommensnachricht im Kanal posten -->
<pnp:Message>
<![CDATA[
{
"body": {
"contentType": "html",
"content": "Benutzt diesen Kanal für alles, was off-topic ist"
},
"subject": "Willkommen im Kanal Lustiges und Ballons"
}
]]>
</pnp:Message>
</pnp:Messages>
</pnp:Channel>
</pnp:Channels>
</pnp:Team>
</pnp:Teams>
</pnp:Provisioning>