SharePoint Objekte verschieben mit PowerShell
- Autor
- Johannes Huber
- Veröffentlicht
- Lesezeit
- 3 Minuten

Diejenigen die einen lokalen Sharepoint im Netzwerk betreiben, stehen manchmal vor einer Herausforderung. Legt man eine Dokumentbibliothek oder eine Liste an und möchte diese danach verschieben, hat man ein Problem. Denn der Sharepoint bietet spartanische bis keine Möglichkeiten eine solche Sharepoint Liste verschieben zu können, zumindest nicht in eine andere Unter-Website. Doch manchmal führt kein Weg daran vorbei. Leider kann man aber nicht hunderte Dokumente einzeln herunterladen und mit diesen eine neue Dokumentenbibliothek anlegen. PowerShell bietet uns Gottseidank die rettende Lösung! SharePoint Objekte verschieben mit PowerShell ist kein Problem.
SharePoint Objekte verschieben mit PowerShell
Ehrlich gesagt ist auch ein SharePoint Objekte verschieben mit PowerShell nicht möglich. In PowerShell haben wir aber die Möglichkeit mit dem Befehl Export-SpWeb Listen und Dokumentenbibliotheken zu exportieren und mit dem Befehl Import-SpWeb diese zu importieren.
Wichtig ist im Vornherein zu sagen, dass man sich immer die korrekte URL der Seite, beziehungsweise Liste oder Bibliothek, kopieren sollte. Oft ist der Name der Seite verschieden zur URL.
Objekte exportieren aus Sharepoint
Als erstes müssen wir die Dateien, beziehungsweise die kompletten Listen oder Bibliotheken exportieren. Hierzu steht uns der Grundbefehl Export-SpWeb zur Verfügung, welcher aber mehrere Parameter benötigt. Hier ein Beispiel:
Export-spweb https://intranet.your.domain -ItemUrl "Lists/UrlDerListe/" -IncludeUserSecurity -IncludeVersions All -path "C:\DeinVerzeichnis\DeinName.cmp" -nologfile
Natürlich lässt sich der Befehl auch kürzen, in dem man die URL zum Objekt direkt angibt:
Export-SpWeb https://intranet.your.domain/deine-liste/ -IncludeUserSecurity -IncludeVersions all -Path "C:\DeinVerzeichnis\DeinName.cmp" -NoLogFile
Beispiel: "https://intranet.your.domain"
Beispiel: "/meineSeite/meineListe/"
Beispiel: "Änderungsdatum, Benutzer, Version, etc."
Beispiel: "C:\DeinPfad\DeineDatei.cmp"
Nachdem der Befehl erfolgreich ausgeführt wurde, haben wir nun die komplette Struktur in dieser cmp-Datei. Nun sind wir mit dem Exportieren aus dem Sharepoint fertig.
Objekte importieren in Sharepoint
Nachdem wir nun die CMP-Datei erstellt haben, kann diese an einer anderen Stelle im Sharepoint importiert werden. Dafür nutzen wir nun Import-SpWeb. Hier wieder der PowerShell Befehl:
Import-SpWeb https://intranet.your.domain/unterseite/ -IncludeUserSecurity -path "C:\DeinVerzeichnis\DeinName.cmp" -nologfile
Auch beim Importieren in Sharepoint gibt es wieder verschiedene Parameter.
Beispiel: "https://intranet.your.domain/unterseite/"
Beispiel: "C:\DeinPfad\DeineDatei.cmp"
Nach dem Absetzen des Befehls in der Management Shell, also in Powershell, wurde nun die zuvor exportierte Liste oder Dokumenten-Bibliothek in die gewünschte Seite importiert.
Alte Objekte löschen
Wir haben nun das Quell-Objekt exportiert, jedoch existiert diese noch immer in der Sharepoint Seite. Diese sollte natürlich gelöscht werden. Hier kann man zwei verschiedene Wege gehen. Natürlich ist es möglich diese per Web-Oberfläche zu löschen. Aber auch hier kann uns PowerShell weiterhelfen:
$spwebobject = Get-SPWeb QuellUrl
$spwebobject.Lists["DeineListe"].Delete()
$spwebobject.Dispose()
Das SharePoint Objekte verschieben ist also mit Hilfe von PowerShell, beziehungsweise der Sharepoint Management Shell gar nicht so schwer. Ich hoffe wir konnten euch weiterhelfen.

0 Kommentare