Dieser Artikel zeigt Ihnen, wie Sie eine Liste im Microsoft SharePoint von einer Unterwebsite auf eine andere verschieben können.
Microsoft SharePoint ist eine wunderbare Plattform, um die verschiedensten Daten zu speichern und zu Verfügung zu stellen.
Microsoft SharePoint ist...
- 1... einfach in der Anwendung
- 2... stabil in der Ausführung
- 3... flexibel, um die unterschiedlichsten Szenarien abzubilden
Dennoch sind manche Dinge nicht so offensichtlich. Wenn Sie eine SharePoint Liste in eine andere Unterwebsite verschieben möchten, dann werden Sie in der Benutzeroberfläche keine Option dafür finden. Es gibt zwar die Option, Dokumente in andere Listen zu verschieben, doch dies funktioniert nur auf der selben Website.
SharePoint Listen in Unterwebsite verschieben
Wenn Sie eine SharePoint Liste auf eine andere Unterwebsite verschieben möchten, dann brauchen Sie die PowerShell hierfür. Dieser Artikel zeigt Ihnen, wie's geht.
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:
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
Definition
Parameterliste
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:\PfadInDenDieDateiExportiertWurde\NameDerDatei.cmp
-nologfile
Definition
Parameterliste
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 im SharePoint 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:
- 1Holen eines SharePoint Webobjektes
- 2Ausführen der Objekt eigenen Löschfunktion
- 3Freigeben 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, wie Sie eine SharePoint Liste auf andere Unterwebsites verschieben können.
Ich zeige Ihnen, wie Sie
So lernen Sie die unterschiedlichsten Wege kennen, um mit Listen effizient zu arbeiten.
Hallo,
tolle Anleitung. Funktioniert das auch unter Sharepoint 2007?
Danke und Grüße
Jürgen
Hey Frank,
der Artikel hat mir gerade mal so richtig die Arbeit erleichtert! Danke
PS: Ich musste beim ItemUrl mit einem / beginnen.VGMarkus
Ich wusste gar nicht, dass Sharepoint so viele wunderbare Möglichkeiten bietet, ich werde es auf jeden Fall in unserem Unternehmen durchsetzen…