SharePoint Online Themes mit PowerShell verwalten

SharePoint Online Themes mit PowerShell verwalten

🎯 Einleitung

Das visuelle Erscheinungsbild von SharePoint-Sites ist ein wichtiger Bestandteil der Benutzererfahrung und der Corporate Identity...

✅ Voraussetzungen

  1. SharePoint Online Management Shell ist installiert
  2. Administratorrechte für SharePoint Online
  3. Windows PowerShell 5.x
  4. Admin-URL: https://<Dein-Tenant-Name>-admin.sharepoint.com

🎨 Benutzerdefiniertes Theme erstellen

Nutze den Fluent UI Theme Designer oder die ältere Version UI Fabric Theme Designer und exportiere deine Farbenkombination. Füge die einzelnen Farben in das Script ein und führe es auf deiner Umgebung aus.


🎨 Benutzerdefiniertes Theme "Teamsware Purple" installieren

Alert
Achtung <Dein-Tenant-Namen> im Script nicht vergessen!


  1. # ⚠️ Dieses Skript muss in Windows PowerShell 5.x mit Adminrechten ausgeführt werden!

  2. # -----------------------------------------
  3. # Schritt 0: SharePoint Online Management Shell sicherstellen
  4. # -----------------------------------------
  5. if (-not (Get-Module -ListAvailable -Name Microsoft.Online.SharePoint.PowerShell)) {
  6.     Write-Host "SharePoint Online Management Shell wird installiert..." -ForegroundColor Cyan
  7.     Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Scope CurrentUser -Force
  8. }

  9. Import-Module Microsoft.Online.SharePoint.PowerShell -ErrorAction Stop
  10. Write-Host "SharePoint Online PowerShell-Modul geladen." -ForegroundColor Green

  11. # -----------------------------------------
  12. # Schritt 1: Verbindung herstellen
  13. # -----------------------------------------
  14. $adminUrl = "https://<Dein_Tenant_Name>-admin.sharepoint.com"
  15. Write-Host "Verbinde mit: $adminUrl" -ForegroundColor Cyan
  16. Connect-SPOService -Url $adminUrl

  17. # -----------------------------------------
  18. # Schritt 2: Theme definieren
  19. # -----------------------------------------
  20. $themeName = "Teamsware Purple"

  21. $palette = @{
  22.   "themePrimary" = "#6667AB";
  23.     "themeLighterAlt" = "#f8f8fc";
  24.     "themeLighter" = "#e2e2f2";
  25.     "themeLight" = "#cacbe6";
  26.     "themeTertiary" = "#9b9ccd";
  27.     "themeSecondary" = "#7576b5";
  28.     "themeDarkAlt" = "#5c5d9a";
  29.     "themeDark" = "#4e4f82";
  30.     "themeDarker" = "#393a60";
  31.     "neutralLighterAlt" = "#faf9f8";
  32.     "neutralLighter" = "#f3f2f1";
  33.     "neutralLight" = "#edebe9";
  34.     "neutralQuaternaryAlt" = "#e1dfdd";
  35.     "neutralQuaternary" = "#d0d0d0";
  36.     "neutralTertiaryAlt" = "#c8c6c4";
  37.     "neutralTertiary" = "#a19f9d";
  38.     "neutralSecondary" = "#605e5c";
  39.     "neutralSecondaryAlt" = "#8a8886";
  40.     "neutralPrimaryAlt" = "#3b3a39";
  41.     "neutralPrimary" = "#323130";
  42.     "neutralDark" = "#201f1e";
  43.     "black" = "#000000";
  44.     "white" = "#ffffff"
  45. }

  46. # -----------------------------------------
  47. # Schritt 3: Bestehendes Theme sauber entfernen (optional)
  48. # -----------------------------------------
  49. Write-Host "Prüfe, ob Theme bereits existiert..." -ForegroundColor Cyan
  50. try {
  51.     Remove-SPOTheme -Name $themeName -ErrorAction Stop
  52.     Write-Host "Vorhandenes Theme '$themeName' wurde entfernt." -ForegroundColor Yellow
  53. }
  54. catch {
  55.     Write-Host "Kein existierendes Theme '$themeName' gefunden. Fahre fort..." -ForegroundColor Gray
  56. }

  57. # -----------------------------------------
  58. # Schritt 4: Theme hinzufügen
  59. # -----------------------------------------
  60. try {
  61.     Add-SPOTheme -Name $themeName -Palette $palette -IsInverted:$false -ErrorAction Stop
  62.     Write-Host "✔ Theme '$themeName' erfolgreich tenantweit registriert." -ForegroundColor Green
  63. }
  64. catch {
  65.     Write-Host "❌ Fehler beim Hinzufügen des Themes: $($_.Exception.Message)" -ForegroundColor Red
  66. }

🗑️ Einzelnes Theme löschen

  1. $adminUrl = "https://<Dein-Tenant-Name>-admin.sharepoint.com"
  2. Connect-SPOService -Url $adminUrl
  3. $themeName = "Teamsware Purple"
  4. Remove-SPOTheme -Name $themeName

🧹 Alle Themes löschen

  1. $adminUrl = "https://<Dein-Tenant-Name>-admin.sharepoint.com"
  2. Connect-SPOService -Url $adminUrl
  3. $themes = Get-SPOTheme
  4. foreach ($theme in $themes) {
  5. Remove-SPOTheme -Name $theme.Name
  6. }

⚠️ Einschränkungen von Add-SPOTheme

Nur 32 Farbslots werden unterstützt
Erweiterte Semantic Slots wie
buttonBackground
werden automatisch berechnet

🧩 Verwendung von Theme-Tokens in SPFx

  1. .button {
  2. background-color: "[theme: buttonBackground, default: #f3f2f1]";
  3. color: "[theme: buttonText, default: #323130]";
  4. }

🔧 Tools & Ressourcen

📥 SharePoint Online Management Shell installieren

  1. PowerShell als Administrator öffnen
  2. Modul prüfen:
  3. Get-Module -ListAvailable -Name Microsoft.Online.SharePoint.PowerShell
  4. Modul installieren:
  5. Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Scope CurrentUser -Force
  6. Modul importieren (optional):
  7. Import-Module Microsoft.Online.SharePoint.PowerShell

📌 Rechtlicher Hinweis

Hinweis: Die in diesem Artikel bereitgestellten Informationen und Skripte wurden mit größter Sorgfalt erstellt. Dennoch übernimmt die Teamsware GmbH keine Gewähr für die Aktualität, Richtigkeit und Vollständigkeit der Inhalte. Die Nutzung der bereitgestellten Informationen erfolgt auf eigene Verantwortung. Bitte teste alle Skripte vor dem produktiven Einsatz in einer geeigneten Testumgebung.


    • Related Articles

    • SharePoint Online: Alle Dateien ohne Ordnerstruktur anzeigen (Flat View)

      In SharePoint Online kann es bei vielen Unterordnern schwierig sein, den Überblick über alle enthaltenen Dokumente zu behalten. Eine "Flat View" (flache Ansicht) ermöglicht es Ihnen, alle Dateien der Bibliothek auf einer Ebene anzuzeigen. Dies ist ...
    • Die Begrenzung der Pfadlänge in SharePoint Online - Das solltest du wissen!

      Ob bei Probleme beim Sync mit OneDrive, in Governance-Workshops oder direkt von Benutzern – die Frage nach der Pfadlänge in SharePoint Online taucht ständig auf: ? „Wie wird die Pfadlänge gezählt?“ ? „Was ist das maximale Limit?“ Kein Wunder, dass ...
    • "Mit Explorer öffnen" in SharePoint Online

      In der Vergangenheit war es mit Internet Explorer 11 und SharePoint in der klassischen Ansicht möglich eine Dokumentenbibliothek im Datei-Explorer zu öffnen. Für Edge bringt es Microsoft für SharePoint Online zurück (Konfiguration durch ...
    • M365 Gruppen in Outlook per PowerShell Script sichtbar machen

      Derzeit wird die Gruppe eines Teams, das mit Microsoft Teams erstellt wurde, in Outlook nicht angezeigt. Innerhalb der Teamsware Bauakte werden diese Gruppen normalerweise standardmäßig sichtbar geschaltet. Hierfür ist die Eigenschaft ...
    • Effiziente Terminplanung mit Microsoft Bookings

      Basiswissen Buchungsseiten, Besprechungstypen und Dienste Mit Microsoft Bookings wird die Organisation und Verwaltung von Terminen sehr einfach. Das Tool unterstützt euch dabei, Besprechungen mit Kunden oder Kollegen effizient zu planen und zu ...