SharePoint 2010 Deployment (Teil 2) – Wiederherstellen einer Backup-Datei

23. April 2012

Bei SharePoint 2010 Deployment handelt es sich um eine Serie von Blogbeiträgen, die die verschiedenen Schritte für das Deployment von SiteCollections erläutert und ausführt. Dabei wird der Fokus auf das Wiederherstellen einer Backup-Datei aus einer SharePoint-Umgebung in eine andere (z.B. von einer Entwicklungsumgebung auf eine Test- oder Produktivumgebung) gelegt.

 

Die Serie “SharePoint 2010 Deployment” besteht aus den folgenden Beiträgen:

  1. Erstellen einer SiteCollection
  2. Wiederherstellen ein Backup-Datei
  3. Erstellen von SecureStore-Applikationen
  4. Importieren von Business Data Connectivity Models
  5. Deployment von SQL Server Reporting Services Reports

Im zweiten Teil dieser Blogserie behandeln wir das Wiederherstellen einer Backup-Datei in SharePoint 2010 mit Hilfe von Powershell. Dafür erweitern wir die, im ersten Teil der Blogserie, erstellte Konfigurationsdatei sowie das Powershell-Skript, um die Aktionen für das Wiederherstellen der Backup-Datei. Dieses Powershell-Skript kann entsprechend der Anforderungen individuell angepasst werden.

Für das Erweitern, der im ersten Teil der Blogserie erstellten Powershell-Datei, sowie das nachträgliche Ausführen sind die folgenden Schritte auszuführen:

  1. Erweitern der Konfigurationsdatei
  2. Erweitern der Powershell-Datei
  3. Ausführen

Erweitern der Konfigurationsdatei

Um ein unabhängiges Deployment zu verwenden, haben wir im ersten Teil dieser Blogserie Erstellen einer SiteCollection eine Konfigurationsdatei (Konfiguration.xml) erstellt. Diese müssen wir nun um den Pfad für die Backup-Datei erweitern.

<!--Paths-->
<BackupFilePath>Pfad zur Backup-Datei einfügen</BackupFilePath>

Erweitern der Powershell-Datei

Im nächsten Schritt erweitern wir, das im ersten Teil der Blogserie erstellte Powershell-Skript (Deployment.ps1) um das Element <BackupFilePath> aus der Konfigurationsdatei.

$BackupFilePath = $configurationElement.Config_Content.BackupFilePath

Im zweiten Schritt fügen wir dem Powershell-Skript dem Befehl zum Wiederherstellen der Backup-Datei in eine bestimmte SiteCollection hinzu.

#----- Restore the Site Collection -----
Write-Host "Restore Site Collection Start"
Restore-SPSite -Identity $newCollectionSite -Path "$BackupFilePath" -Force -Confirm:$false
Write-Host "Restore Site Collection End"

Beim Verwenden des Powershell-Befehls Restore-SPSite ist darauf zu achten, dass die Backup-Datei auf einem SharePoint-Server mit derselben oder einer höheren Versionsnummer wiederhergestellt wird. Andernfalls kann das Wiederherstellen der Backup-Datei nicht ausgeführt werden.

Ausführen

Öffnen Sie nun auf dem Server das Microsoft SharePoint 2010 Management Shell und navigieren zum dem Verzeichnis, in dem Sie die neu erstellten Dateien gespeichert haben.

Sie können das Skript auch mit dem von Windows Server mitgelieferten Powershell-Fenster ausführen. Hierzu müssen Sie jedoch noch die SharePoint spezifischen Methoden einbinden. Geben Sie dafür folgenden Befehl ein, bevor Sie das Deployment-Skript ausführen:

if((Get-PSSnapin -Name "Microsoft.SharePoint.PowerShell" - EA 0) -eq $null)
{
  Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}

Um die SharePoint spezifischen Funktionen auch dauerhaft in der Windows Server mitgelieferten Powershell-Konsole nutzen zu können, finden Sie hier einen interessanten Blobeintrag von Kirk Evans.

Führen Sie das Powershell-Skript Deployment.ps1 aus. Anschließend sollte folgendes Fenster erscheinen:

image

Fazit

Zusammenfassend kann man sagen, dass sich mit Hilfe von Powershell in SharePoint 2010 einfach administrative und konfigurierbare Schritte ausführen lassen. Dieses bedeutet, insbesondere für Administratoren und Entwickler, eine erhebliche Zeitersparnis.

Ein Vorteil, welches das Wiederherstellen  einer Backup-Datei in eine SiteCollection gegenüber dem Copy-Befehlen für die einzelnen Listen, Bibliotheken, etc. hat, ist das die gesamten Security-Einstellungen mit übernommen werden. So kann man alle Einstellungen für die Berechtigungen auf Seiten, Listen, etc. bereits in der Entwicklungs- oder Testumgebung einstellen ohne sie auf dem produktiven SharePoint wiederholen zu müssen.

Im dritten Teil dieser Blogserie SharePoint 2010 Deployment beschäftigen wir uns mit dem Thema Erstellen von SecureStore-Applikationen.

Hier finden Sie eine Übersicht aller Blogbeiträge zu dieser Blogserie.

Teil 1                    Teil 2                    Teil 3                    Teil 4                    Teil 5