Microsoft SharePoint Listen verschieben
Microsoft SharePoint ist eine wunderbare Plattform, um die verschiedensten Daten zu speichern und zu Verfügung zu stellen. Es ist einfach in der Anwendung, stabil in der Ausführung und flexibel genug, all ihre Belange abzubilden. Dennoch sind manche Dinge nicht so offensichtlich. Sie haben zum Beispiel eine Datenstruktur aufgebaut und möchten eine Liste verschieben, da sie nun zu einer neuen oder anderen logischen Struktur gehört. Es gibt zwar die Option Dokumente in andere Listen zu verschieben, wenn es aber darum geht Listen in andere Unterwebseiten zu verschieben, dann sucht man in der Benutzeroberfläche vergebens.
Es gibt zwar einen Befehl zum exportieren einer Liste, aber keine Möglichkeit, diese Liste wieder zu importieren. Jedenfalls nicht über die grafische Benutzeroberfläche. Der einzige Weg führt über die Microsoft SharePoint PowerShell. Hier werden die folgenden Arbeitsschritte ausgeführt:
- Liste exportieren
- Liste importieren
- Liste am ursprünglichen Ort löschen
Das Vorgehen ist recht einfach. Wichtig ist hier, dass man darauf achten muss, immer den URL einer Website oder einer Liste angeben muss. Auch wenn die Website oder Liste anders heißt.
Im Video legen wir eine Unterwebsite an, legen eine Liste an und füllen diese mit Daten und führen dann die Verschiebung der Liste in die Unterwebsite aus. Deswegen beschränke ich mich in diesem Blog-Post auf die Befehle, die ausgeführt werden müssen.
1. Liste exportieren
Export-spweb QuellWebUrl -ItemUrl “Lists/UrlDerListe/“ -IncludeUserSecurity -IncludeVersions All
-path C:PfadInDenExportiertWerdenSollNameDerDatei.cmp -nologfile
Betrachten wir nun die einzelnen Parameter:
| QuellWebUrl | Der URL der Website, die die Liste enthält. Zum Beispiel http://sharepoint.MeineWebsite.com |
| ItemUrl | Der URL der Liste, die verschoben werden soll. Allerdings wird hier nicht der vollständige URL angegeben, sondern nur der Teil nach der QuellWebUrl, also zum Beispiel lists/MeineListe/. Beachten Sie bitte, dass sie einen abschließenden / setzen müssen, da der Befehl sonst einen Fehler produziert. |
| IncludeUserSecurity | SharePoint speichert Meta Daten. Beispielsweise wird bei jedem Vorgang festgehalten, welcher Benutzer wann diese Operation durchgeführt hat. Wann also ein Element angelegt, oder verändert wurde. Mit dem Parameter IncludeUserSecurity werden diese Daten unverändert exportiert. |
| IncludeVersions | Bei einer Liste oder Bibliothek kann man die Version einschalten. D.h. dass zum Beispiel von Dateien bei jedem Speichern eine neue Version angelegt wird, und man so die Möglichkeit hat, eine alte Version wiederherzustellen. Mit dem Befehl IncludeVersions und dem Wert All werden alle Versionen mit übernommen. |
| path | Gibt den Dateipfad inklusiv Dateiname an, an dem die exportierte Datei gespeichert werden soll. |
| nologfile | Verhindert die Erstellung eines Logfiles. |
2. Liste importieren
import-spweb ZielWebUrl -IncludeUserSecurity
-path C:PfadInDenDieDateiExportiertWordenIstNameDerDatei.cmp -nologfile
Auch hier betrachten wir die Parameter:
| ZielWebUrl | Der URL der Website, in die die Liste eingefügt werden soll. Zum Beispiel http://sharepoint.MeineWebsite.com/Unterweb |
| IncludeUserSecurity | SharePoint speichert Meta Daten. Beispielsweise wird bei jedem Vorgang festgehalten, welcher Benutzer wann diese Operation durchgeführt hat. Wann also ein Element angelegt, oder verändert wurde. Mit dem Parameter IncludeUserSecurity werden diese Daten unverändert importiert, sofern sie exportiert wurden. |
| path | Gibt den Dateipfad inklusiv Dateiname an, an dem die zu importierende Datei gespeichert ist. |
| nologfile | Verhindert die Erstellung eines Logfiles. |
3. Liste am ursprünglichen Ort löschen
Um die Liste am ursprünglichen Ort zu löschen ist eine kurze Befehlabfolge von Nöten. Die Befehlabfolge besteht aus drei Befehlen:
- Holen eines SharePoint Webobjektes
- Ausführen der Objekt eigenen Löschfunktion
- Freigeben des SharePoint Webobjektes
Und hier die drei Befehle:
C:>$spweb = Get-SPWeb QuellWebUrl C:>$spweb.Lists["NameDerListe"].Delete() C:>$spweb.Dispose()
drücken Sie nach der Eingabe eines jeden Befehls die ENTER-Taste. Der Befehl Get-SPWeb bekommt in diesem Fall den gleichen QuellWebUrl, den wir auch in Schritt 1 angegeben haben. Bitte beachten Sie, dass für NameDerListe an dieser Stelle wirklich der Name der Liste zu benutzen ist und nicht der URL. Unser Beispiel würde zusammengefasst so aussehen:
C:>Export-SPWeb https://sharepoint.pmd-media.local/Test -ItemUrl "lists/Zu verschiebende Liste/" -IncludeUserSecurity -IncludeVersions All -path "C:Zu verschiebende Liste.cmp" -nologfile C:>Import-SPWeb https://sharepoint.pmd-media.local/Test/Unterweb -IncludeUserSecurity -path "C:Zu verschiebende Liste.cmp" -nologfile C:>$spweb = Get-SPWeb https://sharepoint.pmd-media.local/Test C:>$spweb.Lists["Zu verschiebende Liste"].Delete() C:>$spweb.Dispose()
im Video gehe ich mit Ihnen Schritt für Schritt durch den Prozess durch. Ich zeige Ihnen, wie Sie eine ScharePoint-Liste anlegen, mit Daten befüllen, dann eine Unterwebsite anlegen, danach die Liste exportieren und wieder importieren, um dann über die Benutzeroberfläche von SharePoint die Liste zu löschen. So lernen Sie die unterschiedlichsten Wege kennen, um mit Listen effizient zu arbeiten.
Viel Spaß beim Video!
Über Ihre Kommentare, Kritik, Lob, Anregungen freue ich mich. Benutzen Sie dafür einfach die Kommentarfunktion unterhalb dieses Beitrags.

![Validate my RSS feed [Valid RSS]](http://blog.pmd-media.com/wp-content/uploads/2010/03/valid-rss-rogers.png)






