Programmgesteuerte Bereitstellung von „modernen“ Teamwebsites

„Moderne“ Websites in SharePoint Online wurden im Herbst 2016 eingeführt, und die Möglichkeit deren Verwendung kann auf Mandantenebene gesteuert werden. In diesem Artikel werden die verschiedenen Optionen und Überlegungen im Zusammenhang mit der Bereitstellung von „modernen“ Websites in SharePoint Online besprochen. Der Artikel behandelt insbesondere, wie sowohl „moderne“ Teamwebsites als auch „moderne“ Kommunikationswebsites erstellt werden.

Wichtig

Das bedeutet nicht das Ende der Unterstützung für die klassische Benutzeroberfläche; es stehen weiterhin sowohl die klassische als auch die moderne Oberfläche zur Verfügung.

Moderne Teamwebsites und moderne Kommunikationswebsites im Vergleich

Bevor wir auf die Details der Bereitstellung moderner Websites eingehen, sehen wir uns die beiden Hauptoptionen an, die verfügbar sind: Teamwebsites und Kommunikationswebsites.

Eine moderne Teamwebsite ist ein Ort, an dem eine Gruppe von Personen zusammenarbeiten und Dokumente und Nachrichten freigeben kann. Jede "moderne"-Teamwebsite verfügt über eine unterstützte Microsoft 365-Gruppe, um die Zusammenarbeit zu verbessern. Tatsächlich können die Mitglieder des Teams dank der Microsoft 365-Gruppe von Diensten wie Planner, einem gemeinsam genutzten Kalender, einem gemeinsam genutzten OneDrive for Business-Speicher und benutzerdefinierten Office 365-Connectors profitieren. In der Regel können die Mitglieder zu den Inhalten auf einer modernen Teamwebsite beitragen (Lese-/Schreibzugriff). Darüber hinaus kann die Microsoft 365-Gruppe, die eine "moderne" Team-Site unterstützt, privat oder öffentlich sein. Standardmäßig ist sie öffentlich.

Eine moderne Kommunikationswebsite ist ein Ort, an dem Sie Neuigkeiten teilen, einen Textabschnitt präsentieren oder eine Nachricht übertragen können. Die Idee einer Kommunikationswebsite besteht darin, dass es einige Herausgeber gibt, die Inhalte erstellen und pflegen, und eine großes Zielpublikum, das die Inhalte „konsumiert“. Eine Kommunikationswebsite verfügt jedoch über keine unterstützte Microsoft 365-Gruppe. Benutzer können mit dem bekannten Berechtigungssatz anderer SharePoint-Websites auf die Zielkommunikationswebsite zugreifen; standardmäßig ist jede Kommunikationswebsite privat.

Wenn Sie daher eine Website für die Teamzusammenarbeit erstellen müssen, ist die moderne Teamwebsite mit großer Wahrscheinlichkeit die richtige Wahl. Wenn Sie jedoch etwas an eine große Zielgruppe kommunizieren möchten, ist die Kommunikationswebsite wahrscheinlich die beste Wahl.

Bereitstellen von „modernen“ Teamwebsites

In diesem Abschnitt erfahren Sie, wie Sie eine moderne Teamwebsite bereitstellen und welche Optionen hierfür verfügbar sind.

Bereitstellen einer modernen Teamwebsite über die Benutzeroberfläche

Es gibt zahlreiche Möglichkeiten zur Bereitstellung einer modernen Teamwebsite. Sie können die Bereitstellung direkt von der SharePoint-Online-Website aus starten oder alternativ eine Microsoft 365-Gruppe von anderen Standorten aus (z. B. von Outlook aus) bereitstellen, was dann auch die Bereitstellung einer "modernen" Teamwebsite auslöst.

  • Wenn Ihr Administrator moderne Teamwebsites in Ihrem Mandanten aktiviert hat, können Sie moderne Teamwebsites von der SharePoint-Startseite aus erstellen.

  • Sie können auch eine Microsoft 365-Gruppe in Office 365 Outlook erstellen, und wenn Sie auf die Registerkarte "Site" dieser Gruppe zugreifen, landen Sie auf einer "modernen" Teamwebsite.

Steuern des standardmäßigen Bereitstellungsflusses

Sie können den SharePoint-Websiteerstellungsprozess über die SharePoint Online-Administratoreinstellungen steuern. Sie können auswählen, ob die moderne Oberfläche für Ihre Endbenutzer verfügbar sein soll oder ob Sie weiterhin die klassische Oberfläche verwenden möchten.

Optionen für die Websiteerstellung über die SharePoint Online-Administratorbenutzeroberfläche

Weitere Informationen finden Sie in den folgenden Office-Supportartikeln:

Programmgesteuertes Bereitstellen einer modernen Teamwebsite über die SharePoint Online-REST-API

Moderne Teamwebsites können programmgesteuert mithilfe einer von SharePoint Online bereitgestellten REST-API erstellt und auch von der Benutzeroberfläche zum Erstellen von Websites in SharePoint Online verwendet werden. Um eine "moderne" Teamwebsite über REST bereitzustellen, stellen Sie eine POST-Anforderung an den Microsoft Graph "Gruppen"-Endpunkt: https://graph.microsoft.com/v1.0/groups

Der URI der modernen Teamwebsite wird durch den Parameter mailNickname und den verwalteten Pfad bestimmt, den Sie für Teamwebsites in Ihrer Mandantenverwaltung (standardmäßig „Websites“) auswählen.

Im Folgenden würde eine Microsoft 365-Gruppe und eine zugehörige "moderne" Teamwebsite mit einer URL von https://[tenant].sharepoint.com/sites/mymodernteamsite erstellt

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json
Content-length: 200

{
  "description": "description",
  "displayName": "My modern team site",
  "groupTypes": [
    "Unified"
  ],
  "mailEnabled": true,
  "mailNickname": "mymodernteamsite",
  "securityEnabled": false
}

Bereitstellen einer modernen Teamwebsite mithilfe der PnP-CSOM-Core-Komponente

In der SharePoint PnP Core-Komponente gibt es seit der Version vom Oktober 2017 (v. 2.19.1710.1) eine neue Erweiterungsmethode für den CSOM ClientContext-Typ . Der Name der Erweiterungsmethode ist CreateSiteAsync und ermöglicht Ihnen das Erstellen einer modernen Teamwebsite in nur wenigen Sekunden.

Im folgenden Codeausschnitt können Sie sehen, wie diese Technik verwendet wird.

// Let's use the CreateSiteAsync extension method of PnP CSOM Core
// to create the "modern" team site

var targetTenantUrl = "https://[tenant].sharepoint.com/";

using (var context = new ClientContext(targetTenantUrl))
{
    context.Credentials = OfficeDevPnP.Core.Utilities.CredentialManager.GetSharePointOnlineCredential("[Name-of-Your-Credentials]");

    // Create new "modern" team site at the url
    // https://[tenant].sharepoint.com/sites/mymodernteamsite
    var teamContext = await context.CreateSiteAsync(
        new TeamSiteCollectionCreationInformation
        {
            Alias = "mymodernteamsite", // Mandatory
            DisplayName = "displayName", // Mandatory
            Description = "description", // Optional
            Classification = "classification", // Optional
            IsPublic = true, // Optional, default true
        });
    teamContext.Load(teamContext.Web, w => w.Url);
    teamContext.ExecuteQueryRetry();
    Console.WriteLine(teamContext.Web.Url);
}

Hinweis

Weitere Details zum Classification-Argument finden Sie unter Klassifizierung von „modernen“ SharePoint-Websites.

Wie Sie sehen können, wird durch die Erweiterungsmethode eine neue moderne Teamwebsite erstellt und ein ClientContext-Objekt zurückgegeben, das direkt mit der neu erstellten Website verbunden ist.

Bereitstellen einer modernen Teamwebsite mit PnP PowerShell

Sie können moderne Websites auch mithilfe von PnP PowerShell erstellen. Das folgende Skript erstellt eine moderne Teamwebsite und gibt dann die eigentliche URL der SharePoint-Website für die weitere Bearbeitung zurück. Wenn Sie Zugriff auf die URL der erstellten Website haben, können Sie CSOM (mit der SharePoint-PnP-Core-Komponente) oder SharePoint PnP PowerShell verwenden, um weitere Vorgänge auf der erstellten Website zu automatisieren.

# Connect to SharePoint Online
# This command will prompt the sign-in UI to authenticate
Connect-PnPOnline "https://[tenant].sharepoint.com/"

# Create the new "modern" team site
$teamSiteUrl = New-PnPSite -Type TeamSite -Title "displayName" -Alias "mymodernteamsite" -Description "description" -IsPublic -Classification "classification" 

# Connect to the modern site using PnP PowerShell SP cmdlets
# Since we are connecting now to SP side, credentials will be asked
Connect-PnPOnline $teamSiteUrl

# Now we have access on the SharePoint site for any operations
$web = Get-PnPWeb -Includes WebTemplate, Configuration
$web.WebTemplate + "#" + $web.Configuration

Hinweis

PnP PowerShell ist eine Open Source-Lösung mit aktiver Community, die Support dafür bietet. Es gibt keine SLA für den Support des Open-Source-Tools durch Microsoft.

Bereitstellen einer „modernen“ Team-Seite unter Verwendung der CLI für Microsoft 365

Sie können auch die CLI für Microsoft 365 verwenden, um „moderne“ Websites zu erstellen. Die CLI für Microsoft 365 ist eine plattformübergreifende Befehlszeilenschnittstelle, die auf einer beliebigen Plattform verwendet werden kann, darunter Windows, Mac OS und Linux.

Hinweis

Die CLI für Microsoft 365 ist eine Open-Source-Lösung mit aktiver Community, die Support dafür bietet. Es gibt keine SLA für den Support des Open-Source-Tools durch Microsoft.

Das folgende Bash-Skript erstellt eine moderne Teamwebsite und gibt dann die eigentliche URL der SharePoint-Website für die weitere Bearbeitung zurück. Sobald Sie Zugriff auf die URL der erstellten Website haben, können Sie sie verwenden, um weitere Vorgänge auf der erstellten Website zu automatisieren.

#!/usr/bin/env bash
# Connect to Microsoft 365 tenant
# This command will prompt a sign-in confirmation message to authenticate
m365 login

# Create the new "modern" team site
siteUrl=$(m365 spo site add --type TeamSite --title 'displayName' --alias 'mymodernteamsite' --description 'description' --isPublic --classification 'classification')

# Display the modern site url
echo $siteUrl

# Since the CLI for Microsoft 365 is connected to Microsoft 365 tenant we can do any operations. 
# As example, we can list all the properties from the site property bag:
m365 spo propertybag list -u $siteUrl

Programmgesteuerte Bereitstellung einer Microsoft 365-Gruppe

"Moderne" Teamwebsites können programmgesteuert erstellt werden, indem eine Microsoft 365-Gruppe mithilfe von Microsoft Graph erstellt wird. Wenn Sie eine Microsoft 365-Gruppe erstellen, wird automatisch eine "moderne"-Teamwebsite für die Gruppe bereitgestellt. Der "moderne"-Teamwebsite-URI basiert auf dem mailNickname-Parameter der Microsoft 365-Gruppe und weist die folgende Standardstruktur auf.

https://[tenant].sharepoint.com/sites/[mailNickname]

Hinweis

Eine ausführliche Beschreibung der Erstellung von Gruppen mithilfe von Microsoft Graph finden Sie in der offiziellen Dokumentation.

Microsoft 365-Gruppe mithilfe der PNP CSOM-Hauptkomponente bereitstellen

Die PnP-CSOM-Core-Komponente, die als NuGet-Paket verfügbar ist, weist vereinfachte Methoden für die Verarbeitung moderner Gruppen auf.

/// <summary>
/// Let's use the UnifiedGroupsUtility class from PnP CSOM Core to simplify managed code operations for Microsoft 365 groups
/// </summary>
/// <param name="accessToken">Azure AD Access token with Group.ReadWrite.All permission</param>
public static void ManipulateModernTeamSite(string accessToken)
{
    // Create new modern team site at the url https://[tenant].sharepoint.com/sites/mymodernteamsite
    Stream groupLogoStream = new FileStream("C:\\groupassets\\logo-original.png", 
                                            FileMode.Open, FileAccess.Read);
    var group = UnifiedGroupsUtility.CreateUnifiedGroup("displayName", "description", 
                            "mymodernteamsite", accessToken, groupLogo: groupLogoStream);
            
    // We received a group entity containing information about the group
    string url = group.SiteUrl;
    string groupId = group.GroupId;

    // Get group based on groupID
    var group2 = UnifiedGroupsUtility.GetUnifiedGroup(groupId, accessToken);
    // Get SharePoint site URL from group id
    var siteUrl = UnifiedGroupsUtility.GetUnifiedGroupSiteUrl(groupId, accessToken);

    // Get all groups in the tenant
    List<UnifiedGroupEntity> groups = UnifiedGroupsUtility.ListUnifiedGroups(accessToken);

    // Update description and group logo programatically
    groupLogoStream = new FileStream("C:\\groupassets\\logo-new.png", FileMode.Open, FileAccess.Read);
    UnifiedGroupsUtility.UpdateUnifiedGroup(groupId, accessToken, description: "Updated description", 
                                            groupLogo: groupLogoStream);

    // Delete group programatically
    UnifiedGroupsUtility.DeleteUnifiedGroup(groupId, accessToken);
}

Microsoft 365-Gruppe mithilfe der PnP PowerShell bereitstellen

Sie können auch eine Microsoft 365-Gruppe mithilfe von PNP PowerShell-erstellen, mit der Sie sich bei Microsoft Graph über Azure Active Directory einfach authentifizieren können. Das folgende Skript erstellt eine Microsoft 365-Gruppe zusammen mit einer "modernen" Teamwebsite und gibt dann die tatsächliche URL der SharePoint-Website zur weiteren Bearbeitung zurück. Wenn Sie Zugriff auf die URL der erstellten Website haben, können Sie CSOM (mit der SharePoint-PnP-Core-Komponente) oder SharePoint PnP PowerShell verwenden, um weitere Vorgänge auf der erstellten Website zu automatisieren.

# Connect to your SharePoint admin center, credentials will be asked
Connect-PnPOnline -Url https://contoso-admin.sharepoint.com

# Create a new modern team site
New-PnPSite -Type Team -Title "Awesome Group" -Description "Awesome Group" -Alias "awesome-group"

Moderne Teamwebsite mithilfe der SharePoint Online-Verwaltungsshell oder mithilfe von PnP PowerShell bereitstellen

Es ist auch möglich, eine moderne Website mithilfe von PowerShell zu erstellen, die nicht mit einer Gruppe verbunden ist. Entweder über die PnP PowerShell-Cmdlets oder die SharePoint Online-Verwaltungsshell.

$title = "Awesome ModernTeamsite"
$url = "https://contoso.sharepoint.com/sites/awesomemodernteamsite"
$owner = "denisd@contoso.com"

// SharePoint Online Management Shell
New-SPOSite -Title $_title -Url $_url -Owner $owner -StorageQuota 512 -Template "STS#3"

// PnP
New-PnPTenantSite -Url $_url -Description $_title -Title $_title -Template STS#3 -Owner $owner

Microsoft 365-Gruppe mithilfe der CLI für Microsoft 365 bereitstellen

Sie können auch die CLI für Microsoft 365 verwenden, um eine Microsoft 365-Gruppe zu erstellen.

#!/usr/bin/env bash
# Connect to Microsoft 365 tenant
# This command will prompt a sign-in confirmation message to authenticate
m365 login

# Create a Microsoft 365 group
# The newly created SharePoint site for that group will have the URL
# https://[tenant].sharepoint.com/sites/awesome-group
m365 aad o365group add --displayName 'Awesome Group' --description 'Awesome Group' --mailNickname awesome-group

Bereitstellen von modernen Kommunikationswebsites

In diesem Abschnitt erfahren Sie, wie Sie eine moderne Kommunikationswebsite bereitstellen und welche Optionen hierfür verfügbar sind.

Bereitstellen einer modernen Kommunikationswebsite über die Benutzeroberfläche

Wenn Ihr Administrator "moderne" Teamwebsites in Ihrem Mandanten aktiviert hat, können Sie direkt über die SharePoint Online-Startseite beginnen, um eine "moderne" Kommunikationswebsite über die Benutzeroberfläche bereitzustellen. Wählen Sie die Schaltfläche Website erstellen aus, wählen Sie eine Kommunikationswebsite aus, entscheiden Sie sich für ein Design für Ihre Website, und geben Sie einen Namen und eine Beschreibung an. Die Website wird dann in nur wenigen Sekunden erstellt.

Zum Zeitpunkt der Erstellung dieses Artikels sind die folgenden Designs für eine Kommunikationswebsite verfügbar:

  • Thema: Verwenden Sie dieses Design, wenn Sie viele Informationen freigeben möchten, z. B. Nachrichten, Ereignisse und andere Inhalte.
  • Showcase: Verwenden Sie dieses Design, um ein Produkt, ein Team oder ein Ereignis mit Fotos oder Bildern zu präsentieren.
  • Leer: Beginnen Sie mit einer leeren Website, und gestalten Sie Ihr Design schnell und einfach.

Programmgesteuertes Bereitstellen einer modernen Kommunikationswebsite

Sie können eine moderne Kommunikationswebsite programmgesteuert mithilfe von CSOM und PnP oder PowerShell erstellen.

Bereitstellen einer modernen Kommunikationswebsite mithilfe der PnP-CSOM-Core-Komponente

Die PnP-CSOM-Core-Komponente, die als NuGet-Paket verfügbar ist, weist vereinfachte Methoden für die Verarbeitung moderner Websites auf.

// Let's use the CreateSiteAsync extension method of PnP CSOM Core
// to create the "modern" team site

var targetTenantUrl = "https://[tenant].sharepoint.com/";

using (var context = new ClientContext(targetTenantUrl))
{
    context.Credentials = OfficeDevPnP.Core.Utilities.CredentialManager.GetSharePointOnlineCredential("[Name-of-Your-Credentials]");

    // Create new "modern" communication site at the url https://[tenant].sharepoint.com/sites/mymoderncommunicationsite
    var communicationContext = await context.CreateSiteAsync(new CommunicationSiteCollectionCreationInformation {
        Title = "title", // Mandatory
        Description = "description", // Mandatory
        Lcid = 1033, // Mandatory
        AllowFileSharingForGuestUsers = false, // Optional
        Classification = "classification", // Optional
        SiteDesign = CommunicationSiteDesign.Topic, // Mandatory
        Url = "https://[tenant].sharepoint.com/sites/mymoderncommunicationsite", // Mandatory
    });
    communicationContext.Load(communicationContext.Web, w => w.Url);
    communicationContext.ExecuteQueryRetry();
    Console.WriteLine(communicationContext.Web.Url);
}

Wie Sie sehen können, wird durch die Erweiterungsmethode eine neue moderne Kommunikationswebsite erstellt und ein ClientContext-Objekt zurückgegeben, das direkt mit der neu erstellten Website verbunden ist.

Bereitstellen einer modernen Kommunikationswebsite mit PnP PowerShell

Das folgende Skript erstellt eine moderne Kommunikationswebsite und gibt dann die eigentliche URL der SharePoint-Website für die weitere Bearbeitung zurück, ähnlich wie das vorherige Beispiel mit modernen Teamwebsites.

# Connect to SharePoint Online
# This command will prompt the sign-in UI to authenticate
Connect-PnPOnline "https://[tenant].sharepoint.com/"

# Create the new "modern" communication site
$communicationSiteUrl = New-PnPSite -Type CommunicationSite -Title "displayName" -Url "https://[tenant].sharepoint.com/sites/mymoderncommunicationsite" -Description "description" -Classification "classification" -SiteDesign Topic

# Connect to the modern site using PnP PowerShell SP cmdlets
# Since we are connecting now to SP side, credentials will be asked
Connect-PnPOnline $communicationSiteUrl

# Now we have access on the SharePoint site for any operations
$context = Get-PnPContext
$web = Get-PnPWeb
$context.Load($web, $web.Title)
Execute-PnPQuery
$web.Title

Bereitstellen einer modernen Kommunikationswebsite unter Verwendung der CLI für Microsoft 365

Sie können auch die CLI für Microsoft 365 verwenden, um moderne Kommunikationswebsites zu erstellen. Das folgende Bash-Skript erstellt die Website und gibt dann die eigentliche URL der SharePoint-Website für die weitere Bearbeitung zurück. Sobald Sie Zugriff auf die URL haben, können Sie sie verwenden, um weitere Vorgänge auf der erstellten Website zu automatisieren.

#!/usr/bin/env bash
# Connect to Microsoft 365 tenant
# This command will prompt a sign-in confirmation message to authenticate
m365 login

# Create the new "modern" communication site
siteUrl=$(m365 spo site add --type CommunicationSite --url https://[tenant].sharepoint.com/sites/mymoderncommunicationsite --title displayName --description description --classification classification)

# Display the modern site url
echo $siteUrl

# Since the CLI for Microsoft 365 is connected to your Microsoft 365 tenant we can do any operations. 
# As example, we can list all the properties from the site property bag:
m365 spo propertybag list -u $siteUrl

Zusätzliche Überlegungen

Unterwebsites verwenden klassische Vorlagen

Wenn Sie eine Unterwebsite unter der Stammwebsite einer modernen Websitesammlung bereitstellen, verwenden Unterwebsites „klassische“ Vorlagen. Es sind derzeit keine „modernen“ Unterwebsitevorlagen verfügbar. Sie können eine klassische Unterwebsite in einem moderne Teamwebsite umwandeln, indem Sie eine moderne Seite auf der Website erstellen und die Willkommensseite auf die neu erstellte Seite aktualisieren.

Wenn Sie nicht zulassen möchten, dass Benutzer eine klassische Unterwebsite unter einer modernen Websitesammlung erstellen, können Sie als Administrator zum SharePoint Admin Center wechseln, die Einstellungsseite auswählen und die Option für Erstellung von Unterwebsites konfigurieren, um das Menü für die Erstellung der Unterwebsite auszublenden. In der folgenden Abbildung ist die zur Erstellung der Unterwebsite abgebildet.

Optionen für die Erstellung einer Unterwebsite über die SharePoint Online-Administratorbenutzeroberfläche

Websites werden nicht in der klassischen SharePoint-Administratorbenutzeroberfläche/Mandanten-API aufgeführt

Moderne Teamwebsites sind in der SharePoint-Administratorbenutzeroberfläche nicht sichtbar. Sie können auf die Liste der "modernen" Teamwebsites von der Microsoft 365 Gruppenverwaltungs-Benutzeroberfläche unter Office 365-Administrator-Portal zugreifen. In der SharePoint Online-Administratorbenutzeroberfläche werden nur klassische SharePoint-Websites aufgeführt. Diese Einschränkung gilt nicht für die Mandanten-API: Sie können diese API verwenden, um moderne Teamwebsites zusammen mit klassischen Teamwebsites aufzuzählen. Um eine Liste von ausschließlich modernen Teamwebsites abzurufen, können Sie auch Gruppenendpunkt der Microsoft Graph-API verwenden.

Es gibt auch eine neue SharePoint-Administratorbenutzeroberfläche, die die Verwaltung von neuen modernen Websitesammlungen zusammen mit den klassischen Websitesammlungen unterstützt.

Siehe auch