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.
weitere Themen
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)
- Erstellen, Konfigurieren und Löschen von Websitesammlungen und Unterwebsites.
- Verwalten von Website-Features, Designs und Einstellungen.
- Bereitstellen von Webparts und Apps.
- Verwalten von Site-Berechtigungen.
- Durchführen von Site-Audits.
- Hinzufügen, Entfernen und Verwalten von Benutzern und Gruppen in SharePoint und Microsoft 365.
- Verwalten von Benutzerprofilen.
- Verwalten von Plänen, Aufgaben und Buckets
- Erstellen, Verwalten und Löschen von Listen und Dokumentbibliotheken.
- Hinzufügen, Aktualisieren und Löschen von Listenelementen und Dokumenten.
- Verwalten von Metadaten und Inhaltstypen.
- Arbeiten mit Ansichten und Filtern.
- Erstellen, Konfigurieren und Löschen von Teams und Kanälen.
- Verwalten von Teammitgliedern und -einstellungen.
- Hinzufügen von Apps und Tabs zu Teams.
- Verwalten von Microsoft 365-Gruppen
- Tenant-weite Einstellungen konfigurieren
Erste Schritte mit PnP.PowerShell
- Installation:
- PowerShell Core (empfohlen):
PowerShell 7Install-Module PnP.PowerShell -Scope CurrentUser
- Windows PowerShell:
PowerShell 5.1Install-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
).
- PowerShell Core (empfohlen):
- Verbindung herstellen:
PowerShellConnect-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. - 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"
- 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.