Application Integration

Damit Unternehmensdaten ungehindert entlang der Wertschöpfungskette fließen.

Business Intelligence

Unternehmensdaten als Grundlage für strategische und operative Entscheidungen.

Collaboration & Portal

Reibungslose Kommunikation und Zusammenarbeit im komplexen Prozessegeschehen.

Artifical Intelligence

maschinell Lernen und Problemlösen um Entscheidungsfindung und Sprachverständnis zu unterstützen

Ihr Schweizer Taschenmesser für die SharePoint- und Microsoft 365-Automatisierung

Die Verwaltung und Automatisierung von Aufgaben in SharePoint (Online und On-Premises) und Microsoft 365 kann komplex sein. Glücklicherweise gibt es ein unglaublich mächtiges und vielseitiges Tool, das Ihnen das Leben erheblich erleichtert: PnP.PowerShell.

Was ist PnP.PowerShell?

PnP.PowerShell (früher bekannt als SharePoint PnP PowerShell) ist eine Open-Source-Bibliothek von PowerShell-Cmdlets (Befehlen), die von der Microsoft 365 Patterns and Practices (PnP)-Community entwickelt und gepflegt wird. Es bietet eine einfache, konsistente und plattformübergreifende Möglichkeit, mit SharePoint, Microsoft Teams, Microsoft Planner, und anderen Microsoft 365-Diensten zu interagieren.
Kurz gesagt: PnP.PowerShell ist wie ein Schweizer Taschenmesser für die Automatisierung Ihrer Microsoft 365-Umgebung.

Warum PnP.PowerShell verwenden?

  • Umfangreicher Funktionsumfang: PnP.PowerShell bietet Hunderte von Cmdlets, die eine breite Palette von Aufgaben abdecken, von der einfachen Benutzerverwaltung bis hin zur komplexen Site-Bereitstellung und -Konfiguration.
  • Vereinfachung von CSOM/REST: PnP.PowerShell abstrahiert die Komplexität des Client-Side Object Model (CSOM) und der REST-APIs von Microsoft 365. Sie müssen sich nicht mit den Details dieser APIs herumschlagen, sondern können sich auf die Aufgabe konzentrieren, nicht auf die Technologie dahinter.
  • Cross-Plattform-Kompatibilität: PnP.PowerShell ist mit PowerShell Core (und somit unter Windows, macOS und Linux) und Windows PowerShell kompatibel.
  • Aktive Community & Kontinuierliche Weiterentwicklung: Die PnP-Community ist äußerst aktiv, was bedeutet, dass PnP.PowerShell regelmäßig aktualisiert wird, um neue Funktionen von Microsoft 365 zu unterstützen und Fehler zu beheben. Es gibt umfangreiche Dokumentationen, Beispiele und eine hilfsbereite Community.
  • Open Source und kostenlos: PnP.PowerShell ist Open Source und steht unter der MIT-Lizenz. Sie können es kostenlos nutzen und sogar zur Weiterentwicklung beitragen.
  • Wiederverwendbarkeit: Schreiben Sie Skripte einmal und verwenden Sie sie immer wieder. Automatisieren Sie sich wiederholende Aufgaben und sparen Sie Zeit und Mühe.
  • Automatisierung von Bereitstellungen: PnP.PowerShell ist ein Eckpfeiler für die Automatisierung der Bereitstellung von SharePoint-Sites, Teams, Listen, Bibliotheken und vielem mehr.
  • Migration: Migrieren Sie Inhalte zwischen SharePoint-Umgebungen (z. B. von On-Premises zu Online) mit PnP.PowerShell-Skripten.

Was kann man mit PnP.PowerShell machen? (Beispiele)

Hier sind nur einige Beispiele für die vielen Dinge, die Sie mit PnP.PowerShell tun können:

Erste Schritte mit PnP.PowerShell

  1. Installation:
    • PowerShell Core (empfohlen):
      PowerShell 7

       

      Install-Module PnP.PowerShell -Scope CurrentUser
    • Windows PowerShell:
      PowerShell 5.1

       

      Install-Module SharePointPnPPowerShellOnline -Scope CurrentUser # Für SharePoint Online
      Install-Module SharePointPnPPowerShell2019 -Scope CurrentUser  # Für SharePoint 2019
      Install-Module SharePointPnPPowerShell2016 -Scope CurrentUser  # Für SharePoint 2016
      Install-Module SharePointPnPPowerShell2013 -Scope CurrentUser  # Für SharePoint 2013
      
      

      (Hinweis: Es gibt separate Module für die verschiedenen SharePoint-Versionen in Windows PowerShell. PnP.PowerShell ist immer die beste Wahl, wenn möglich.)

    • Stellen Sie sicher, dass die Ausführungsrichtlinie das Ausführen von Skripten zulässt (Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser).
  2. Verbindung herstellen:
    PowerShell

     

    Connect-PnPOnline -Url "https://ihre-sharepoint-site.sharepoint.com" -Interactive #Interaktive Anmeldung (empfohlen)
    
    # Alternativ (weniger sicher, für Skripte in Automatisierungsumgebungen):
    # Connect-PnPOnline -Url "https://ihre-sharepoint-site.sharepoint.com" -Credentials (Get-Credential)
    

    Ersetzen Sie "https://ihre-sharepoint-site.sharepoint.com" durch die URL Ihrer SharePoint-Site oder Ihres Microsoft 365-Tenants. -Interactive verwendet die moderne Authentifizierung, was sicherer und oft einfacher ist, da es den Browser für die Anmeldung verwendet.

  3. Cmdlets verwenden:
    PowerShell

     

    # Beispiel: Eine neue moderne Teamwebsite erstellen
    New-PnPSite -Type TeamSite -Title "Mein neues Team" -Alias "mein-neues-team" -Owners "user@domain.com"
    
    # Beispiel: Alle Elemente einer Liste abrufen
    Get-PnPListItem -List "MeineListe"
    
    # Beispiel: Eine Datei in eine Bibliothek hochladen
    Add-PnPFile -Path "C:\meine-datei.docx" -Folder "Dokumente"
    
  4. Hilfe und Dokumentation:
    • Get-Help <Cmdlet-Name> -Detailed (z.B. Get-Help New-PnPSite -Detailed) zeigt detaillierte Hilfeinformationen und Beispiele für ein bestimmtes Cmdlet an.
    • Die offizielle PnP.PowerShell-Dokumentation: https://pnp.github.io/powershell/

Wichtige Hinweise und Best Practices

  • Testen Sie Skripte sorgfältig: Bevor Sie Skripte in einer Produktionsumgebung ausführen, testen Sie sie gründlich in einer Test- oder Entwicklungsumgebung.
  • Fehlerbehandlung: Verwenden Sie try-catch-Blöcke, um Fehler abzufangen und ordnungsgemäß zu behandeln.
  • Berechtigungen: Stellen Sie sicher, dass der Benutzer, mit dem Sie sich verbinden, über die erforderlichen Berechtigungen für die auszuführenden Aktionen verfügt.
  • Moderne Authentifizierung: Verwenden Sie, wann immer möglich, die moderne Authentifizierung (z. B. mit -Interactive), da diese sicherer ist.
  • Ressourcenbegrenzung (Throttling): SharePoint Online hat Mechanismen zur Ressourcenbegrenzung. Ihre Skripte sollten so gestaltet sein, dass sie diese berücksichtigen (z.B. durch Wiederholungsversuche mit exponentiellem Backoff). PnP.PowerShell hilft Ihnen dabei, aber seien Sie sich des Themas bewusst.
  • Nutzen Sie die Community: Wenn Sie auf Probleme stoßen oder Fragen haben, zögern Sie nicht, die PnP-Community zu fragen (GitHub-Issues, Discussions, etc.).

Fazit

PnP.PowerShell ist ein unverzichtbares Werkzeug für jeden, der mit SharePoint und Microsoft 365 arbeitet. Es vereinfacht die Verwaltung, automatisiert Aufgaben und spart Ihnen wertvolle Zeit. Beginnen Sie noch heute mit der Automatisierung Ihrer Microsoft 365-Welt!

Möchten Sie mehr über PNP.Powershell erfahren?

Besuchen Sie die offizielle Website oder kontaktieren Sie uns für eine Erstberatung.