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:

  1. Liste exportieren
  2. Liste importieren
  3. 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:\PfadInDenExportiertWerdenSoll\NameDerDatei.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:\PfadInDenDieDateiExportiertWordenIst\NameDerDatei.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:

  1. Holen eines SharePoint Webobjektes
  2. Ausführen der Objekt eigenen Löschfunktion
  3. 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.

10 comments

  1. Markus Nölker says:

    Hey Frank,

    der Artikel hat mir gerade mal so richtig die Arbeit erleichtert! Danke

    PS: Ich musste beim  ItemUrl mit einem / beginnen.VGMarkus

  2. Markus Nölker says:

    Hey Frank,

    der Artikel hat mir gerade mal so richtig die Arbeit erleichtert! Danke

    PS: Ich musste beim  ItemUrl mit einem / beginnen.VGMarkus

  3. BBB says:

    Hallo,
    eine gute Anleitung. Leider funktioniert bei mir das importieren nicht, muss ich etwas bestimmtes noch zusätzlich beachten?

    • Hallo BBB,

      sorry, habe gerade gesehen, dass das WordPress System sämtliche Backslashs in den Pfadangaben unterschlagen hat…. 🙂 Aber ich gehe davon aus, dass das nicht das Problem ist. Bekommst Du eine Fehlermeldung beim Importieren?

  4. BBB says:

    Hallo,
    eine gute Anleitung. Leider funktioniert bei mir das importieren nicht, muss ich etwas bestimmtes noch zusätzlich beachten?

    • Hallo BBB,

      sorry, habe gerade gesehen, dass das WordPress System sämtliche Backslashs in den Pfadangaben unterschlagen hat…. 🙂 Aber ich gehe davon aus, dass das nicht das Problem ist. Bekommst Du eine Fehlermeldung beim Importieren?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.