Einstieg in die PowerShell SharePoint-Verwaltung

Langweilt dich das SharePoint-Admincenter? Findest du es unzureichend und möchtest zur Befehlszeile wechseln? Ja, das ist möglich mit dem PowerShell SharePoint Online Management-Modul.

Dieses Modul ermöglicht es dir, die gleichen Aufgaben wie im SharePoint-Admincenter üblicherweise in PowerShell zu erledigen. Darüber hinaus kannst du deine SharePoint Online-Aufgaben automatisieren!

In diesem Tutorial lernst du die Grundlagen des PowerShell SharePoint Online Managements. Du wirst lernen, wie du das Modul installierst, gängige administrative Aufgaben durchführst und sich wiederholende Aktionen automatisierst. Bleib dran und steig direkt ein!

Voraussetzungen

Dieses Tutorial wird eine praktische Demonstration sein. Wenn du mitmachen möchtest, stelle sicher, dass du Folgendes hast:

  • Du musst die URL deines SharePoint Online Admins und Portal kennen. Siehe diesen Link, um herauszufinden, wie du die SharePoint Online-Admin-URL in deinem Mandanten erhältst.

Dieses Tutorial wird die Portal-URL HTTPS://lzex.sharepoint.com und die Admin-URL HTTPS://lzex-admin.sharepoint.com.

  • Windows PowerShell 5.1 oder das neueste PowerShell 7 unter Windows. In diesem Tutorial wird Windows PowerShell 5.1 unter Windows 10 verwendet.

Installation des PowerShell SharePoint Online-Moduls

Um SharePoint Online mit PowerShell zu verwalten, müssen Sie zunächst das PowerShell SharePoint Online Management-Modul installieren. Dieses Modul stellt die Cmdlets bereit, mit denen Sie Ihre SharePoint Online-Organisation und Ressourcen verbinden und verwalten können.

Der schnellste und bequemste Weg, das PowerShell SharePoint Online-Modul zu installieren, erfolgt über die PowerShell-Galerie mit dem Install-Module-Cmdlet. Befolgen Sie dazu die folgenden Schritte.

1. Öffnen Sie PowerShell als Administrator.

2. Führen Sie als Nächstes den folgenden Befehl aus. Dieser Befehl installiert das Microsoft.Online.SharePoint.PowerShell-Modul.

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

3. Um zu bestätigen, dass die Modulinstallation erfolgreich war, führen Sie den folgenden Befehl aus, um die Modulinformationen abzurufen.

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name,Version

Der Befehl gibt den Namen und die Version des Moduls zurück. Wie unten gezeigt, gibt es eine Version des Microsoft.Online.SharePoint.PowerShell-Moduls auf diesem Computer. Die neueste Version zum Zeitpunkt dieses Schreibens ist 16.0.22615.12000.

Listing the PowerShell SharePoint Online module information

4. Schließlich importieren Sie das PowerShell SharePoint-Modul, indem Sie den folgenden Befehl in PowerShell ausführen.

Hinweis: Während das PowerShell SharePoint Online-Modul mit PowerShell 7 funktioniert, müssen Sie das Modul explizit mit dem -UseWindowsPowerShell-Schalter importieren.

# Unter Windows PowerShell 5.1
Import-Module Microsoft.Online.SharePoint.PowerShell

# Unter PowerShell 7x
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

Ignorieren Sie die Warnung vor nicht genehmigten Verben. Diese Warnung informiert Sie über Cmdlets, die nicht mit genehmigten Verben in der Get-Verb-Liste beginnen, beeinträchtigt jedoch nicht die Funktionalität des Moduls.

Um diese Warnung zu vermeiden, fügen Sie dem Import-Module-Cmdlet den -DisableNameChecking-Schalter hinzu.

Importing the PowerShell SharePoint Online module

Verbindung zu PowerShell SharePoint Online

Sie sind nun bereit, sich mit der PowerShell SharePoint Online-Sitzung zu verbinden. Bevor Sie dies tun, beachten Sie, dass Syntax und Methode je nach dem MFA-Status Ihres Admin-Kontos variieren würden.

Administrator-Konto ohne MFA

Wenn Ihr Admin-Konto nicht für MFA aktiviert ist, führen Sie den folgenden Befehl aus Connect-SPOService. Geben Sie nach dem -Url-Parameter Ihre Admin-URL und nach dem -Credential-Parameter Ihre Benutzerprinzipalname (UPN) an.

Connect-SPOService -Url <https://tenant-admin.sharepoint.com/> -Credential spoadmin@domain.com

Geben Sie Ihr Kennwort bei der nächsten Aufforderung ein und drücken Sie Enter.

Connect SPOService
Connecting to PowerShell SharePoint online without MFA

Der -Credential-Parameter akzeptiert auch ein PSCredential-Objekt, das Sie mit dem Get-Credential-Cmdlet erstellen können.

Administrator-Konto mit MFA

Für ein MFA-Administrator-Konto folgen Sie den untenstehenden Schritten, um eine Verbindung zur PowerShell SharePoint Online-Sitzung herzustellen.

1. Führen Sie den folgenden Befehl in PowerShell aus. Stellen Sie sicher, dass Sie die richtige SharePoint-Admin-URL angeben.

Connect-SPOService -Url https://tenant-admin.sharepoint.com/

2. Geben Sie im Anmeldefenster, das angezeigt wird, Ihren Administrator-Benutzernamen ein und klicken Sie auf Weiter.

Type the SharePoint admin username

3. Geben Sie anschließend das Kennwort für das Administrator-Konto ein und klicken Sie auf Anmelden.

Enter the account password

4. Schließen Sie schließlich Ihre MFA-Herausforderung ab. Je nachdem, wie Sie MFA für Ihr Konto konfiguriert haben, kann die MFA-Methode von der untenstehenden Abbildung abweichen.

Completing the MFA challenge

Nachdem Sie diese Schritte abgeschlossen haben, sollte Ihre PowerShell SharePoint Online-Verbindung jetzt aktiv sein.

Verwaltung von Websites, Benutzern und Gruppen mithilfe des PowerShell SharePoint-Moduls

Mit PowerShell können Sie einige Funktionen ausführen, die SharePoint für SharePoint Online und verschiedene Ressourcen bereitstellt. In diesem Abschnitt führen Sie typische SharePoint Online-Aufgaben aus, wie das Erstellen von Websites, das Erstellen von Gruppen, das Hinzufügen von Benutzern, das Entfernen von Benutzern aus Gruppen und das Generieren von Benutzerberichten.

Erstellen einer neuen SharePoint-Website

Mit dem Befehl New-SPOSite können Sie eine neue SharePoint Online-Website erstellen. Wenn Sie eine neue moderne Teamwebsite namens Meine erste Teamwebsite erstellen, führen Sie die folgenden Schritte aus.

1. Holen Sie sich zunächst den Namen der Teamwebsite-Vorlage.

Get-SPOWebTemplate

Suchen Sie nach der Vorlage, die Sie auf die neue Website anwenden möchten. In diesem Beispiel kopieren Sie den Namen der Teamwebsite (keine Microsoft 365-Gruppe) Vorlage, STS#3.

Listing all available SharePoint web templates

2. Führen Sie nun den folgenden Befehl aus, um die moderne Teamwebsite zu erstellen. Stellen Sie sicher, dass die folgenden Parameter vollständig sind.

  • Url - Gibt die URL der neuen Website an. Diese URL-Struktur folgt diesem Muster - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.

Stellen Sie sicher, dass die URL eindeutig ist. Die Websiteerstellung schlägt fehl, wenn eine Website mit derselben URL vorhanden ist, selbst wenn die Website im Papierkorb ist.

  • Title – Legt den Titel für Ihre neue Website fest.
  • Owner - Weist den Benutzerprinzipalnamen des Websitebesitzers zu.

Hinweis: SPO setzt automatisch die Gruppe Company Administrator als Websitebesitzer, wenn der von Ihnen angegebene Besitzer eine Administratorrolle hat.

  • Template – Gibt die Webvorlage an, die Sie auf die neue Website anwenden.
  • StorageQuota - Konfiguriert den Speicherplatzkontingentwert der Website in MB.

Hinweis: Der Wert StorageQuota tritt nur in Kraft, wenn die Website-Speichergrenze in Ihrer SharePoint Online-Organisation auf Manuell festgelegt ist. Ist die Einstellung Automatisch, hat das Speicherkontingent des Tenants Vorrang.

New-SPOSite `
    -Url 'https://lzex.sharepoint.com/sites/MyFirstTeamSite' `
    -Title 'My First Team Site' `
    -Owner '[email protected]' `
    -Template 'STS#3' `
    -StorageQuota 1000

Wenn die Websiteerstellung erfolgreich ist, erhalten Sie keine Antwort oder Nachricht in PowerShell.

3. Bestätigen Sie, dass die neue Website vorhanden ist, indem Sie das Get-SPOSite-Cmdlet ausführen.

Get-SPOSite -Identity 'https://lzex.sharepoint.com/sites/MyFirstTeamSite'
Getting the new SPO site details

4. Zuletzt öffnen Sie die SharePoint-Website-URL in Ihrem Webbrowser, um zu bestätigen, dass die Website funktioniert.

Opening the new SPO site in the browser

Erstellen von Site-Gruppen und Hinzufügen von Benutzern

Nachdem Sie eine neue SPO-Site erstellt haben, können Sie damit beginnen, Gruppen zu erstellen und Benutzer mit spezifischen Berechtigungsstufen hinzuzufügen. In diesem Abschnitt lernen Sie, wie Sie Gruppen erstellen und Benutzer zu solchen Gruppen hinzufügen.

Erstellen Sie zunächst die Gruppen gemäß den Spezifikationen in der untenstehenden Tabelle.

Um eine Liste der Berechtigungsstufen zu erhalten, besuchen Sie die Berechtigungen und Berechtigungsstufen für Benutzer im SharePoint Server-Dokumentation.

Site Group PemissionLevels
https://tenant.sharepoint.com/sites/MyFirstTeamSite Editing Team Edit
https://tenant.sharepoint.com.sites/MyFirstSite Design Team Design

Um Gruppen zu erstellen, ist das New-SPOSiteGroup-Cmdlet das auszuführende. Führen Sie die folgenden Befehle aus, um die Gruppen zu erstellen.

 # Definieren Sie die Site-URL. 
$siteURL = '<https://lzex.sharepoint.com/sites/MyFirstTeamSite>'
 # Erstellen Sie die Gruppe 'Bearbeitungsteam' mit der Berechtigung 'Bearbeiten' auf der Website. 
New-SPOSiteGroup -Site $siteURL -Group 'Editing Team' -PermissionLevels Edit
 # Erstellen Sie die Gruppe 'Design-Team' mit der Berechtigung 'Design' auf der Website. 
New-SPOSiteGroup -Site $siteURL -Group 'Design Team' -PermissionLevels Design
Creating new groups on the SPO site

Als nächstes fügen Sie die Benutzer hinzu, die Mitglieder der Gruppen sein sollen. Führen Sie dazu die untenstehenden Add-SPOUser-Befehle aus.

 # Fügen Sie einen Benutzer zur Site-Gruppe 'Bearbeitungsteam' hinzu. 
Add-SPOUser -Site $siteURL -Group 'Editing Team' –LoginName spoeditor@lzex.ga
 # Fügen Sie einen Benutzer zur Site-Gruppe 'Design-Team' hinzu. 
Add-SPOUser -Site $siteURL -Group 'Design Team' –LoginName spodesigner@lzex.ga

Nach jeder Befehlsausführung erhalten Sie Ergebnisse, die ähnlich aussehen wie auf dem Screenshot unten.

Adding users to SPO site groups

Generierung einer Liste von Website-Benutzern

Mithilfe des Befehls Get-SPOUser können Sie feststellen, welche Benutzer auf die Website zugreifen können.

Führen Sie den folgenden Befehl aus, um die Liste der Benutzer auf der Meine erste Teamwebsite zu generieren.

Get-SPOUser -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> | Format-Table -Wrap -AutoSize | Out-File <path-to-savereport> -Force -Width 360 -Append

Das Ergebnis würde ähnlich aussehen wie auf dem unten stehenden Screenshot. Wie Sie sehen können, zeigt die Ausgabe Ihnen die Liste der Benutzer und ihre Gruppenmitgliedschaften.

Getting the list of users on the SPO site

Sie können die Ergebnisse auch in verschiedenen Dateitypen ausgeben, einschließlich CSV, XML, JSON, YAML, HTML und Klartext.

Entfernen von Benutzern aus Site-Gruppen

Sie müssen möglicherweise einen Benutzer entfernen, weil Sie ihn versehentlich zur falschen Gruppe hinzugefügt haben oder der Benutzer nicht mehr im Team ist. Das Cmdlet Remove-SPOUser ist das richtige Werkzeug für diese Aufgabe.

Zum Beispiel führen Sie den folgenden Befehl aus, um den Benutzer [email protected] aus der Design-Te zu entfernen.

Remove-SPOUser `
    -LoginName spodesigner@lzex.ga `
    -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> `
    -Group 'Design Team'

Wie Sie sehen können, ist die Benutzer-Liste im Design-Team jetzt leer, nachdem sein einziges Mitglied entfernt wurde.

Removing a user for the SPO site group

Verwendung von PowerShell SharePoint Online für Automatisierung

Da Sie mit PowerShell arbeiten, können Sie seine Leistung für die Automatisierung nutzen. Beispielsweise wäre die Skripting ein praktischerer Ansatz, wenn es darum geht, mehrere Websites zu erstellen.

Sie können den PowerShell-Befehl New-SPOSite für SharePoint Online mit integrierten Befehlen wie Import-Csv und ForEach-Object kombinieren. Die folgenden Schritte geben Ihnen ein Beispiel für die Erstellung mehrerer Websites mit unterschiedlichen Eigenschaften.

1. Führen Sie den folgenden Befehl aus, um eine neue CSV-Datei namens sites.csv zu erstellen.

New-Item -Type File -Path .\sites.csv

2. Öffnen Sie anschließend die CSV-Datei in einem Texteditor. Dieses Beispiel verwendet notepad.exe.

notepad.exe .\sites.csv

3. Kopieren Sie den folgenden Text in Ihre CSV-Datei und speichern Sie ihn. Stellen Sie sicher, dass Sie die Werte für Besitzer und URL ersetzen, um Ihrer Organisation zu entsprechen.

Owner,StorageQuota,Url,Template,Name
spoadmin@lzex.ga,100,https://lzex.sharepoint.com/sites/new-site,STS#0,Neue Website
ata_dev@lzex.ga,100,https://lzex.sharepoint.com/sites/dev-site,DEV#0,Entwicklungswebsite

Ihre CSV-Datei würde wie im folgenden Screenshot aussehen.

Creating the CSV list of new sites

4. Führen Sie das folgende Skript in PowerShell aus.

Import-Csv .\sites.csv | ForEach-Object {
    New-SPOSite `
        -Owner $_.Owner `
        -StorageQuota $_.StorageQuota `
        -Url $_.Url `
        -Template $_.Template `
        -Title $_.Name `
        -NoWait
}

Wenn keine Fehler auftreten, erhalten Sie keine zusätzlichen Ergebnisse auf dem Bildschirm.

Creating multiple sites using the PowerShell SharePoint online script

5. Führen Sie abschließend den folgenden Befehl aus, um zu bestätigen, dass die neuen Websites vorhanden sind.

Import-Csv .\sites.csv | ForEach-Object {
    Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}
Listing the new sites

Sie können dieselbe Technik, die Sie gerade durchgeführt haben, anwenden, um Massenaufgaben wie die Erstellung von Site-Gruppen und die Aktualisierung von Mitgliedschaften in Site-Gruppen zu automatisieren.

Abschluss

Das PowerShell SharePoint Online-Modul ermöglicht es Ihnen, die Verwaltung Ihrer SharePoint Online-Organisation zu verbessern. Dieses Modul soll das SharePoint-Admincenter nicht ersetzen, sondern als Werkzeug dienen, um Ihre SharePoint Online-Fähigkeiten zu erweitern.

Abgesehen vom PowerShell SharePoint Online-Modul, wussten Sie, dass ein weiteres Modul Ihnen ermöglicht, SharePoint Online in PowerShell zu verwalten? Ja, dieses Modul ist das PnP PowerShell-Modul. Warum erkunden Sie nicht auch dieses Modul und vergleichen, welches am besten für Sie funktioniert?

Source:
https://adamtheautomator.com/powershell-sharepoint/