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.

Die HTTP 500 Fehlermeldung in der Microsoft Virtual Server Verwaltungswebsite

HTTP 500 Fehler bei Microsoft Virtual Server 2005

Wie kann man einen HTTP 500 Fehler beim Aufruf der Microsoft Virtual Server 2005 Verwaltungswebsite beseitigen, wenn doch alle Virtual Server Dienste laufen, der IIS korrekt ist und auch keine Einträge im Ereignisprotokoll vermerkt sind? Hier finden Sie die Antwort...

Weiterlesen

IIS-Konnektivitäts-Fehlermeldung vom SQL Server Services-Server

Microsoft Data Protection Manager: Berichterstellung reparieren

In diesem Post reparieren wir die Berichterstellung eines Microsoft System Center Data Protection Managers 2007. Hier die Konfiguration der Maschine:

  • Microsoft Windows Server 2008
  • Microsoft System Center Data Protection Manager
  • Microsoft Internet Information Server 7 (IIS7)
  • Microsoft SQL Server Express

Bei Klick auf die Berichterstellung erscheint die folgende Fehlermeldung:

IIS-Konnektivitäts-Fehlermeldung vom SQL Server Services-Server
IIS-Konnektivitäts-Fehlermeldung vom SQL Server Services-Server

„Aufgrund von IIS-Konnektivitätsproblemen konnte keine Verbindung mit dem SQL Server Reporting Services-Server hergestellt werden.

Starten Sie auf dem Computer, auf dem die DPM-Datenbank erstellt wurde, den WWW-Publishingdienst neu. Klicken Sie im Menü ‚Verwaltung‘ auf ‚Dienste‘. Klicken Sie mit der rechten Maustaste auf ‚WWW-Publishingdienst‘, und klicken Sie dann auf ‚Starten‘.
ID: 3013″

Diese Fehlermeldung enthält die Anweisung, den WWW-Publishingdienst neu zu starten. Das funktioniert allerdings nicht. Im Video unten finden Sie die Fehleranalyse und Durchführung, aus Platzgründen finden Sie hier nur den Lösungsweg.

Die Lösung

Die Lösung des Problems liegt im IIS 7 begraben.

Starte IIS7 Manager Starten Sie den Internetinformationsdienste Manger
Überprüfe IIS7 ReportServer-Verzeichnis Überprüfen Sie dann das Verzeichnis des SQL Server Report Services Server, um den Pfad dorthin zu bestimmen. Befindet er sich unterhalb der Default-Website dann lautet er in etwa so:

http://localhost/ReportServer$MS$DPM2007$

Fehler auf der ReportServer-Website Nehmen Sie dann den im vorherigen Schritt bestimmten Pfad und geben Sie ihn im Internet-Explorer des Servers ein. Sie erhalten daraufhin die links erscheinende Fehlermeldung.
Handlerzuordnungen - hier verstecken sich die Ausführungsberechtigungen In den Handlerzuordnungen verstecken sich die Ausführungsberechtigungen, die sich im IIS6 noch auf dem Reiter Basisverzeichnis befanden. Klicken Sie also Handlerzuordnungen an.
Übersicht Featureberechtigungen Dann sehen Sie eine Übersicht über die erlaubten bzw. verweigerten Ausführungsberechtigungen.
Featureberechtigungen aufrufen Dort klicken Sie dann rechts im Menü auf Featureberechtigungen bearbeiten…
Featureberechtigungen fehlen Sie sehen, dass die Ausführungs- bzw. Featureberechtigungen fehlen
Featureberechtigungen gesetzt Setzen Sie sie alle (Lesen, Skript und Ausführen)
ReportServer-Website nach Korrektur Nachdem Sie die Report-Server Website im Internet-Explorer aktualisiert haben (Taste F5 drücken), sollten Sie nun die folgende Fehlermeldung sehen:

„Die dem Benutzer ‚DomäneBenutzer‘ erteilten Berechtigungen reichen zum Ausführen des Vorgangs nicht aus. (rsAccessDenied)“

Diese Fehlermeldung ist ok, da Sie in der Regel mit dem Benutzerkonto, mit dem Sie angemeldet sind, keinen Zugriff auf die SQL Server Datenbank haben. Wenn Sie diese Meldung sehen, funktionieren die Reporting Services wieder korrekt.

DPM-Verwaltungskonsole mit funktionierender Berichterstattung Wechseln Sie in der DPM-Verwaltungskonsole auf den Reiter Verwaltung und dann wieder zurück zu Berichterstellung und Sie sehen das Bild links. (Sie können natürlich auch einen anderen Reiter wählen, ich hatte Verwaltung nur vorgeschlagen, weil er direkt neben der Berichterstellung liegt und man so die Maus nicht unnütz lang bewegen muss 😉 )

Im folgenden Video sehen Sie die Vorgehensweise, wie ich bei der Fehleranalyse vorgegangen bin.

httpvhd://www.youtube.com/watch?v=Q5oXarVPODI

Hinterlassen Sie einen Kommentar, wie Ihnen der Artikel gefallen hat, ob Sie selbst dies oder ein ähnliches Problem hatten, ob Sie einen weiteren Lösungsweg kennen, etc. Wir schauen uns das denn gemeinsam an. Ich freue mich auf das Gespräch mit Ihnen.

QuickTipp

Ordner im Windows Dateisystem löschen, die man nicht in Besitz nehmen kann

QuickTippIch habe auf einem Microsoft Windows Server 2008 Schwierigkeiten gehabt, einen Ordner in Besitz zu nehmen (trotz administrativer Berechtigung), um Dateien zu löschen. Bei der Inbesitznahme bekam ich ständig die Fehlermeldung, dass ich nicht die erforderlichen Zugriffsrechte besäße, den Ordner in Besitz zu nehmen. Ich solle es doch mal mit einem Administrator-Konto und administrativen Rechten versuchen. Da ich Domänen-Admin bin, und den Explorer sowie die Konsole (cmd) mit administrativer Berechtigung gestartet habe, frage ich mich, wieviel mehr Vollzugriff ich noch brauche…

Sowohl bei der Benutzung des Windows Explorers als auch bei der Ausführung des takeown-Befehls bekam ich auf 2 Ordnern die Meldung: Zugriff verweigert. Trotzdem konnte ich die Order öffnen. Seltsam!

Also dachte ich mir, dass vielleicht ein Server-Neustart hilft. Doch auch dieser brachte keine Besserung.Und dann habe ich folgendes getan (simpel und einfach): Ich bin in die unterliegende Datenstruktur gegangen und habe die darin vorhandenen Verzeichnisse von der letzten (untersten) Ebene bis hin zur aktuellen Ebene einzeln gelöscht. Und siehe da, plötzlich konnte ich auch den Ordner einfach löschen.

Das sind wieder so Lösungen, bei denen ich mich frage, wo bei dem System die Logik bleibt. Doch die Antwort auf diese Frage bleibt mir leider (bis jetzt) verborgen. Kennen Sie sie? Dann freue ich mich auf Ihren Kommentar! 😉

httpvhd://www.youtube.com/watch?v=EGzVDEqP8Io

Für die Recherche nach dem takeown-Befehl habe ich dieses Buch benutzt:

QuickTipp

Microsoft Exchange Server schützen mit Microsoft DPM – ESEUTIL Version

QuickTippIch hatte einen Microsoft Data Protection Manger 2007 als 64Bit-Version auf einem Microsoft Windows Server 2008 installiert, und wollte einen Microsoft Exchange Server 2003 schützen.

Noch während der Konfiguration des Schutzes, präsentierte mir der Data Protection Manager (DPM) die folgende Fehlermeldung:

Die Konsistenzprüfung mit ‚eseutil.exe‘ kann für diese Schutzgruppe nicht ausgeführt werden, da ‚eseutil.exe‘ nicht auf dem DPM-Server vorhanden ist.

Kopieren Sie die folgenden Dateien vom Exchange-Server-Installationsordner an den Speicherort „c:Program FilesMicrosoft DPMDPMbin“ auf dem DPM-Server.

Ese.dll
Eseutil.exe

Stellen Sie sicher, dass Sie keine 64-Bit-Version von „eseutil.exe“ auf einen 32-Bit-DPM-Server kopieren. Die 32-Bit-Version von „eseutil.exe“ befindet sich auf dem Produktdatenträger des Exchange-Servers.

Sie können festlegen, dass die Konsistenzprüfung mit „eseutil.exe“ nicht für diese Schutzgruppe ausgeführt wird, indem Sie die Option „Eseutil zum Prüfen der Datenintegrität ausführen“ deaktivieren. Das Deaktivieren der Option wird jedoch nicht empfohlen, da dann nicht gewährleistet ist, dass die geschützten Exchange-Daten wiederhergestellt werden können.

ID: 182

Fehlermeldung bei der Konfiguration des Schutzes von einem Microsoft Exchange Server 2003

Nachdem ich die beiden Dateien aus C:ProgrammeExchsrvrbin kopiert hatte, schlug die Replikationserstellung fehl, genauer gesagt die Konsistenzprüfung. Hier bekam ich die folgende Meldung:

Fehler bei der Datenkonsistenzprüfung für LOGS von Speichergruppe Erste Speichergruppe auf server.ConTrans.local. (ID 30146 Details: Unknown error (0xfffffc01) (0xFFFFFC01))

Die Lösung

Nach kurzer Recherche bin ich auf die folgenden Informationen gestoßen:

  • Die Eseutil-Version aus dem Exchange Server 2003 werden auf einer DPM 2007-Installation auf einem Windows Server 2008 nicht mehr unterstützt
  • Auf einer 64-Bit DPM Installation müssen auch die 64-Bit Eseutil-Versionen von Exchange Server 2007 kopiert werden

Nachdem ich die Dateien vom Exchange 2007 kopiert hatte, lief alles wie geplant.

Wenn Sie ähnliche Erfahrungen gemacht haben, würde ich mich freuen, sie in den Kommentaren zu lesen.

httpvhd://www.youtube.com/watch?v=-Moke5Jv5JE